Nginx网站部署
- 一、访问状态统计配置
- 二、基于授权的访问控制
- 三、基于客户端的访问控制
- 四、基于域名的 Nginx 虚拟主机
- 五、基于IP 的 Nginx 虚拟主机
- 六、基于端口的 Nginx 虚拟主机
一、访问状态统计配置
1.先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块
2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
3.重启服务,访问测试
systemctl restart nginx
浏览器访问 http://192.168.80.10/status
Active connections:表示当前的活动连接数,即当前与 Nginx 服务器建立的连接数。
server accepts handled requests :表示已经处理的连接信息
三个数字依次表示服务器已接收的连接数;服务器成功处理的连接数;服务器累计处理的总请求数(在保持连接模式下,请求数量可能会大于连接数量)
Reading:表示当前正在从客户端读取数据的连接数。
Writing:表示当前正在向客户端写入数据的连接数。
Waiting:表示当前空闲并等待请求的连接数。
可 curl -Ls http://192.168.80.10/status 结合 awk与if 语句进行性能监控。
二、基于授权的访问控制
1.生成用户密码认证文件
yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db zhangsan
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db
2.修改主配置文件相对应目录,添加认证配置项
vim /usr/local/nginx/conf/nginx.conf
…
server {
location / {
…
##添加认证配置##
auth_basic “secret”; #设置密码提示框文字信息
auth_basic_user_file /usr/local/nginx/passwd.db;
}
}
3.重启服务,访问测试
nginx -t
systemctl restart nginx
浏览器访问 http://192.168.80.10
三、基于客户端的访问控制
--------基于客户端的访问控制--------
访问控制规则如下:
deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。
vim /usr/local/nginx/conf/nginx.conf
…
server {
location / {
…
##添加控制规则##
allow 192.168.80.200; #允许访问的客户端 IP
deny all; #拒绝其它IP客户端访问
}
}
systemctl restart nginx
四、基于域名的 Nginx 虚拟主机
1.为虚拟主机提供域名解析
echo “192.168.80.10 www.kgc.com www.benet.com” >> /etc/hosts
2.为虚拟主机准备网页文档
mkdir -p /var/www/html/benet
mkdir -p /var/www/html/kgc
echo “
www.kgc.com
” > /var/www/html/kgc/index.htmlecho “
www.benet.com
” > /var/www/html/benet/index.html3.修改Nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
…
http {
…
server {
listen 80;
server_name www.kgc.com; #设置域名www.kgc.com
charset utf-8;
access_log logs/www.kgc.access.log; #设置日志名
location / {
root /var/www/html/kgc; #设置www.kgc.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.benet.com; #设置域名www.benet.com
charset utf-8;
access_log logs/www.benet.access.log;
location / {
root /var/www/html/benet;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
}
4.重启服务,访问测试
systemctl restart nginx
浏览器访问
http://www.kgc.com
http://www.benet.com
五、基于IP 的 Nginx 虚拟主机
ifconfig ens33:0 192.168.80.11 netmask 255.255.255.0
vim /usr/local/nginx/conf/nginx.conf
…
http {
…
server {
listen 192.168.80.10:80; #设置监听地址192.168.80.10
server_name www.kgc.com;
charset utf-8;
access_log logs/www.kgc.access.log;
location / {
root /var/www/html/kgc;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
server {
listen 192.168.80.11:80; #设置监听地址192.168.80.11
server_name www.benet.com;
charset utf-8;
access_log logs/www.benet.access.log;
location / {
root /var/www/html/benet;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
}
systemctl restart nginx
浏览器访问
http://192.168.80.10
http://192.168.80.11
六、基于端口的 Nginx 虚拟主机
vim /usr/local/nginx/conf/nginx.conf
…
http {
…
server {
listen 192.168.80.10:8080; #设置监听 8080 端口
server_name www.kgc.com;
charset utf-8;
access_log logs/www.kgc.access.log;
location / {
root /var/www/html/kgc;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
server {
listen 192.168.80.10:8888; #设置监听 8888 端口
server_name www.benet.com;
charset utf-8;
access_log logs/www.benet.access.log;
location / {
root /var/www/html/benet;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
root html;
}
}
}
systemctl restart nginx
浏览器访问
http://192.168.80.11:8080
http://192.168.80.11:8888