Nginx服务配置及相关模块
一、Nginx配置文件
1、主配置文件解析
①yum安装主配置文件位置:/etc/nginx/nginx.conf
②编译安装主配置文件位置:/编译安装路径/conf/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | nginx主配置文件:nginx.conf详解 worker_processes 1; #全局配置本机可运行多少个master进程,根据本机cpu数量设置数量,可设置为auto按cpu核数自动化调整 events { #events事件处理模块 worker_connections 1024; #每个worker子进程可以处理多少个请求即可以打开多少个文件 } http { #http模块,web服务器与网页有关配置写在此模块中 include mime.types; #mime.type中规定了那些文件是给用户查看的,若文件类型不在此文件中则是下载文件。 default_type application/octet-stream; #默认支持文件类型 sendfile on ; #开启文件传输 keepalive_timeout 65; #长连接超时时间,单位为秒 server { #http模块中的server模块,主要配置监听端口,虚拟主机,dns域名等 listen 80; #监听所有ip的80端口 server_name localhost; #主机名为本机,可虚拟域名 location / { #http模块下的location模块 root html; #此location的根目录位置 index index.html index.htm; #配置默认寻找文件,先寻找index.html若无此文件则找index.htm } error_page 500 502 503 504 /50x.html; #500、502等错误界面跳转访问指定的/下的50x.html页面 location = /50x.html { #定义此location为精确匹配,必须是50x.html才能访问此页面 root html; } } } |
2、子配置文件启用
1 2 3 4 5 6 | #启用子配置文件 #在主配置文件http模块的末尾添加。 include /apps/nginx/conf.d/*.conf; #注意/apps/nginx/conf.d此文件夹需要存在,若不存在需要先建立好,*.conf表示在此文件夹下所有以.conf结尾的都是子配置文件。 systemctl restart nginx.service #重启服务后即可 |
二、子配置文件使用
1、创建虚拟主机实验
①创建子配置文件,指定虚拟主机域名为www.kgc.com,指定此虚拟主机根目录为/data/nginx/pc,网页显示内容为“这是测试页”。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | systemctl stop firewalld setenforce 0 #关闭防火墙和selinux mkdir -pv /data/nginx/pc #递归创建/data/nginx/pc文件夹并显示过程 echo "这是测试页" >/data/nginx/pc/index.html #创建index.html文件内容为“这是测试页” cd /apps/nginx/conf.d #进入指定的子配置文件路径 vim test.conf #创建子配置文件,文件内容如下: server{ listen 80; #监听所有主机的80端口 server_name www.kgc.com; #创建虚拟主机域名为www.kgc.com root /data/nginx/pc; #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在 } |
②配置修改完成后使用命令测试配置文件修改是否有错误,首先将nginx脚本拷贝到/usr/sbin下即可变成外部命令使用,然后使用nginx -t检查所有配置文件。
③配置文件检查正常后重新加载配置文件:使用 nginx -s reload热加载配置文件。
④在测试机的/etc/hosts文件下添加nginx服务器的ip和域名。注意不添加此步骤无法访问域名
1 2 3 4 5 6 7 | systemctl stop firewalld setenforce 0 #关闭防火墙和selinu vim /etc/hosts #编辑hosts文件,添加内容如下 192.168.30.11 www.kgc.com #注意不添加此步骤无法访问域名 |
⑤使用curl测试访问www.kgc.com内容是否为自己的定制的内容。
2、基于端口虚拟主机实验
①修改子配置文件中的80端口为8080。
1 2 3 4 5 6 7 8 | server{ listen 8800; #监听所有主机的8080端口 server_name www.kgc.com; #创建虚拟主机域名为www.kgc.com root /data/nginx/pc; #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在 } |
②修改完成后检测配置文件然后重新加载。
1 2 3 4 | nginx -t #检测配置文件修改是否正确 nginx -s reload #重新加载配置文件 |
③另外一台机器测试curl www.kgc.com:8080。
三、Nginx模块
1、access模块
①access模块默认是安装的无论是yum安装还是编译安装,不安装此模块需要在编译安装时添加--without-http_access_module。
②access模块有allow和deny俩个动作,allow是允许那些ip访问,deny是拒绝那些ip。默认是黑名单,拒绝谁才不能通过,不拒绝全部允许通过。
③设置拒绝192.168.30.13;
1 2 3 4 5 6 7 | server { listen 80; server_name www.kgc.com; deny 192.168.30.13/32; #拒绝192.168.30.11地址访问此网页 root /data/nginx/pc/; } |
本文作者:twistfate123
本文链接:https://www.cnblogs.com/trist-commot/p/17235301.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步