nginx虚拟机
nginx虚拟主机
· Nginx虚拟主机
- 基于多IP的方式
- 基于多端口的方式
- 基于多域名的方式· 日志配置
· Nginx访问控制模块
· Nginx访问认证模块
· Nginx状态监控模块
一、Nginx虚拟主机
1、基于多ip的方式
编辑方式,自行创建关于软件包的配置信息
1 server { #1号ip配置 2 listen 80; 3 server_name 192.168.15.7; #配置ip 4 location / { 5 root /opt/Super_Marie; 6 index index.html; #索引文件 7 } 8 } 9 server { #2号ip配置 10 listen 80; 11 server_name 172.16.1.7; #配置ip 12 location / { 13 root /opt/tank; 14 index index.html; 15 } 16 }
2、基于多段口的方式
[root@web01 conf.d]# vim game3.conf server { listen 80; server_name 192.168.15.7; location / { root /opt/Super_Marie; index index.html; } } server { listen 81; server_name 192.168.15.7; location / { root /opt/tank; index index.html; } }
3、基于多域名的方式
[root@web01 conf.d]# vim game4.conf server { listen 80; server_name www.game.com; location / { root /opt/Super_Marie; index index.html; } } server { listen 80; server_name www.game1.com; location / { root /opt/tank; index index.html; } }
二、Nginx日志
Nginx有非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志。日志格式通过log_format命令定义格式
网站的状态码是500的比例
网站的访问来源
网站排错
$remote_addr : 客户端IP
$http_x_forwarded_for : 真实的客户端IP(在反向代理中生效)
三、Nginx访问控制模块
1、ngx_http_access_module
允许或者拒绝某些IP访问 deny : 拒绝 allow :允许 案例1:允许192.168.15.1访问,不允许其他IP访问 allow 192.168.15.1; deny all; 案例2:允许192.168.15.0这个网段访问,不允许其他网段访问 allow 192.168.15.0/24; deny all; 案例3:只允许通过VPN来访问 allow 172.16.1.81; deny all;
2、ngx_http_auth_basic_module
访问之前需要登录 1、安装httpd-tools [root@web01 ~]# yum install httpd-tools -y 2、生成用户名密码文件 [root@web01 ~]# htpasswd -c /etc/nginx/auth chenyang New password: Re-type new password: Adding password for user chenyang 3、将文件路径加入Nginx配置 [root@web01 ~]# vim /etc/nginx/conf.d/game4.conf auth_basic "Welcome To Login"; auth_basic_user_file /etc/nginx/auth; 4、重启Nginx [root@web01 ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@web01 ~]# systemctl restart nginx
3、ngx_http_autoindex_module
展示目录索引。
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
autoindex_format json;
四、Nginx状态监控模块
监控Nginx运行状态。 [root@web01 conf.d]# cat game5.conf server { listen 80; server_name 192.168.15.7; location / { stub_status; } }
五、访问连接控制模块
1、控制Nginx连接数 1、安装ab测试命令 yum install httpd-tools -y 2、ab 参数 -n : 总共需要访问多少次 -c : 每次访问多少个 [root@web01 conf.d]# cat game5.conf # limit_req_zone $remote_addr zone=one:10m rate=1r/s; limit_conn_zone $remote_addr zone=addr:10m; server { listen 80; server_name 192.168.15.7; # limit_req zone=one burst=5; limit_conn addr 1; location / { root /opt/Super_Marie; index index.html; } } 2、控制Nginx访问量 1、连接池 limit_req_zone $remote_addr zone=one:10m rate=1r/s; 声明连接池 变量 名称 连接池的大小 速率 2、限制数 案例1:要求每秒只能有一个访问。 [root@web01 conf.d]# cat game5.conf limit_req_zone $remote_addr zone=one:10m rate=1r/s; server { listen 80; server_name 192.168.15.7; limit_req zone=one burst=5; location / { root /opt/Super_Marie; index index.html; } }