一、Nginx配置文件
1. 主配置文件解析
①yum安装主配置文件位置:/etc/nginx/nginx.conf
②编译安装主配置文件位置:/编译安装路径/conf/nginx.conf
1 nginx主配置文件:nginx.conf详解 2 worker_processes 1; 3 #全局配置本机可运行多少个master进程,根据本机cpu数量设置数量,可设置为auto按cpu核数自动化调整 4 events { 5 #events事件处理模块 6 worker_connections 1024; 7 #每个worker子进程可以处理多少个请求即可以打开多少个文件 8 } 9 http { 10 #http模块,web服务器与网页有关配置写在此模块中 11 include mime.types; 12 #mime.type中规定了那些文件是给用户查看的,若文件类型不在此文件中则是下载文件。 13 default_type application/octet-stream; 14 #默认支持文件类型 15 sendfile on; 16 #开启文件传输 17 keepalive_timeout 65; 18 #长连接超时时间,单位为秒 19 server { 20 #http模块中的server模块,主要配置监听端口,虚拟主机,dns域名等 21 listen 80; 22 #监听所有ip的80端口 23 server_name localhost; 24 #主机名为本机,可虚拟域名 25 location / { 26 #http模块下的location模块 27 root html; 28 #此location的根目录位置 29 index index.html index.htm; 30 #配置默认寻找文件,先寻找index.html若无此文件则找index.htm 31 } 32 error_page 500 502 503 504 /50x.html; 33 #500、502等错误界面跳转访问指定的/下的50x.html页面 34 location = /50x.html { 35 #定义此location为精确匹配,必须是50x.html才能访问此页面 36 root html; 37 } 38 } 39 } 40
2. 子配置文件启用
1 #启用子配置文件 2 #在主配置文件http模块的末尾添加。 3 include /apps/nginx/conf.d/*.conf; 4 #注意/apps/nginx/conf.d此文件夹需要存在,若不存在需要先建立好,*.conf表示在此文件夹下所有以.conf结尾的都是子配置文件。 5 systemctl restart nginx.service 6 #重启服务后即可
二、子配置文件使用
1. 创建虚拟主机实验
①创建子配置文件,指定虚拟主机域名为www.kgc.com,指定此虚拟主机根目录为/data/nginx/pc,网页显示内容为“这是测试页”。
1 systemctl stop firewalld 2 setenforce 0 3 #关闭防火墙和selinux 4 mkdir -pv /data/nginx/pc 5 #递归创建/data/nginx/pc文件夹并显示过程 6 echo "这是测试页">/data/nginx/pc/index.html 7 #创建index.html文件内容为“这是测试页” 8 cd /apps/nginx/conf.d 9 #进入指定的子配置文件路径 10 vim test.conf 11 #创建子配置文件,文件内容如下: 12 server{ 13 listen 80; 14 #监听所有主机的80端口 15 server_name www.kgc.com; 16 #创建虚拟主机域名为www.kgc.com 17 root /data/nginx/pc; 18 #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在 19 }
②配置修改完成后使用命令测试配置文件修改是否有错误,首先将nginx脚本拷贝到/usr/sbin下即可变成外部命令使用,然后使用nginx -t检查所有配置文件。
③配置文件检查正常后重新加载配置文件:使用 nginx -s reload热加载配置文件。
④在测试机的/etc/hosts文件下添加nginx服务器的ip和域名。注意不添加此步骤无法访问域名!!
1 systemctl stop firewalld 2 setenforce 0 3 #关闭防火墙和selinu 4 vim /etc/hosts 5 #编辑hosts文件,添加内容如下 6 192.168.30.11 www.kgc.com 7 #注意不添加此步骤无法访问域名
⑤使用curl测试访问www.kgc.com内容是否为自己的定制的内容。
2. 基于端口虚拟主机实验
①修改子配置文件中的80端口为8080。
1 server{ 2 listen 8800; 3 #监听所有主机的8080端口 4 server_name www.kgc.com; 5 #创建虚拟主机域名为www.kgc.com 6 root /data/nginx/pc; 7 #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在 8 }
②修改完成后检测配置文件然后重新加载。
1 nginx -t 2 #检测配置文件修改是否正确 3 nginx -s reload 4 #重新加载配置文件
③另外一台机器测试curl www.kgc.com:8080。
三、Nginx模块
1. access模块
①access模块默认是安装的无论是yum安装还是编译安装,不安装此模块需要在编译安装时添加--without-http_access_module。
②access模块有allow和deny俩个动作,allow是允许那些ip访问,deny是拒绝那些ip。默认是黑名单,拒绝谁才不能通过,不拒绝全部允许通过。
③设置拒绝192.168.30.11;
1 server { 2 listen 80; 3 server_name www.kgc.com; 4 deny 192.168.30.11/32; 5 #拒绝192.168.30.11地址访问此网页 6 root /data/nginx/pc/; 7 8 }
④在其他2台pc的/etc/hosts文件中添加 192.168.50.200 www.kgc.com,然后访问。
2. 自定义错误页面
① 子配置文件中添加配置如果报错404则跳转到/data/nginx/html/pc/40x.html
1 server { 2 listen 80; 3 server_name www.kgc.com; 4 error_page 404 /40x.html; 5 #配置报错404则跳转到/根目录下的40x.html文件中 6 location / { 7 root /data/nginx/html/pc; 8 } 9 }
②在 /data/nginx/html/pc目录下创建40x.html文件内容为“此页面为报错404跳转到此”。
③在机器上访问一个www.kgc.com/afasf不存在的文件则跳转到了指定的错误显示页面。
3. 状态页开启
1 server { 2 listen 80; 3 server_name www.kgc.com; 4 location /status { 5 root /data/nginx/html/pc; 6 stub_status; 7 #开启状态页 8 } 9 }
标签:www,配置文件,nginx,配置,pc,server,Nginx,html,模块 From: https://www.cnblogs.com/daiwei-123/p/17237474.html