Nginx服务的主装备文件
主装备文件中有六个主要模块:
1、全局块:全局装备,对全局生效。
2、events块:装备影响Nginx服务器与用户的网络连接。
3、http块:装备署理,缓存,日志定义等绝大多数功能和第三方模块的装备。
4、server块:装备虚拟主机的相关参数,一个http块中能够有多个server 块。每个 server 块就相当于一个虚拟主机。。
5、location块:用于装备匹配的url,一个server块中能够有多个location块。
6、upstream:装备后端服务器具体地址,负载均衡装备不可或缺的部分。
根据授权的拜访操控
设置只要指定用户才能够拜访该网页在location下添加路径和认证装备。
生成用户密码认证文件
文件属主有必要修改为nginx,文件权限有必要设置为400。
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum install -y httpd-tools
已加载插件:fastestmirror, langpacks
local | 3.6 kB 00:00:00
Loading mirror speeds from cached hostfile
匹配 httpd-tools-2.4.6-67.el7.centos.x86_64 的软件包现已装置。正在查看更新。
无须任何处理
[root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db zzz
New password:
Re-type new password:
Adding password for user zzz
[root@localhost ~]# chown nginx /usr/local/nginx/passwd.db
[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db
修改主装备文件和相对应的目录,添加认证装备项
对路径进行约束在对应的location块下添加认证装备项
重启服务,拜访测验
[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx
拜访浏览器验证
拜访状况统计装备
查看nginx的装置模块,是否包含 HTTP_STUB_STATUS 模块
修改 nginx.conf 装备文件,指定拜访方位并添加 stub_status 装备
重启服务
[root@localhost nginx-1.22.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.22.0]# systemctl restart nginx
拜访测验
根据客户端的拜访操控
设置只要指定IP/IP段才能够拜访该网页,或指定IP/IP段不能拜访。 拜访操控规矩如下:
- deny IP/IP段:回绝某个IP或IP段的客户端拜访。(黑名单)
- allow IP/IP段:允许某个IP或IP段的客户端拜访。(白名单)
- 规矩从上往下执行,匹配到则中止,不再往下匹配。
根据域名的 Nginx 虚拟主机
为虚拟主机供给域名解析
echo "192.168.88.100 www.yuji.com www.nan.com" >> /etc/hosts
为虚拟主机预备网页文档
修改Nginx的装备文件
vim /usr/local/nginx/conf/nginx.conf
.........
http {
.........
server {
listen 80;
server_name www.yuji.com; #设置域名www.yuji.com
charset utf-8;
access_log logs/www.yuji.access.log; #设置日志名
location / {
root /var/www/html/yuji; #设置 www.yuji.com 的作业目录
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html {
root html;
}
}
server {
listen 80;
server_name www.nan.com; #设置域名www.nan.com
charset utf-8;
access_log logs/www.nan.access.log; #设置日志名
location / {
root /var/www/html/nan; #设置 www.nan.com 的作业目录
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html {
root html;
}
}
}
重启服务,拜访测验
[root@root ~]# nginx -t //查看装备文件的装备项是否有误
[root@root ~]# systemctl restart nginx //重启Nginx服务
根据ip地址的nginx虚拟主机
设置暂时ip,以到达一台服务器具有多个ip地址,不同ip拜访不同的服务页面
ifconfig ens33:0 192.168.72.20/24
修改装备文件,之后重启服务,拜访测验。
[root@yuji ~]# vim /usr/local/nginx/conf/nginx.conf
.........
http {
.........
server {
listen 192.168.72.10:80; #设置监听地址192.168.72.10
server_name www.yuji.com;
charset utf-8;
access_log logs/www.yuji.access.log; #设置日志名
location / {
root /var/www/html/yuji; #设置 www.yuji.com 的作业目录
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html {
root html;
}
}
server {
listen 192.168.72.20:80; #设置监听地址192.168.72.20
server_name www.nan.com;
charset utf-8;
access_log logs/www.nan.access.log; #设置日志名
location / {
root /var/www/html/nan; #设置 www.yuji.com 的作业目录
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html {
root html;
}
}
}
#重启服务,拜访测验
[root@yuji ~]# nginx -t //查看装备文件的装备项是否有误
#假如服务器只要一个ip,即没有设置暂时ip,则 nginx -t 会报错,错误信息为不能绑定ip
[root@yuji ~]# systemctl restart nginx //重启nginx服务
浏览器拜访 http://192.168.72.10 和 http://192.168.72.20
根据端口的nginx虚拟主机
修改IP地址后面的端口即可。
[root@yuji ~]# vim /usr/local/nginx/conf/nginx.conf
.........
http {
.........
server {
listen 192.168.72.10:666; #设置监听端口为666
server_name www.kgc.com;
charset utf-8;
access_log logs/www.yuji.access.log; #设置日志名
location / {
root /var/www/html/yuji; #设置 www.kgc.com 的作业目录
index index.html index.php;
}
......
}
server {
listen 192.168.72.10:888; #设置监听端口为888
server_name www.nan.com;
charset utf-8;
access_log logs/www.nant.access.log; #设置日志名
location / {
root /var/www/html/nan; #设置 www.benet.com 的作业目录
index index.html index.php;
}
.......
}
}
[root@yuji ~]# nginx -t //查看装备文件的装备项是否有误
[root@yuji ~]# systemctl restart nginx //重启nginx服务
浏览器拜访 http://192.168.72.10:666 和 http://192.168.72.10:888