Nginx网站服务配置(二)

简介: 1、编译安装Nginx服务2、认识Nginx服务的主配置文件nginx.conf3、访问状态统计配置4、基于授权的访问控制5、基于客户端的访问控制6、基于域名的Nginx的虚拟主机7、基于 IP 的Nginx的虚拟主机8、基于端口的Nginx的虚拟主机

4、基于授权的的访问控制:


a)生成用户密码认证文件

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

c1.pngc2.png

b)修改主配置文件相对应目录,添加认证配置项

vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加认证配置##
            auth_basic "secret";
            auth_basic_user_file /usr/local/nginx/passwd.db;
        }
    }


c3.png


c)重启服务,访问测试

nginx -t
systemctl restart nginx
浏览器访问 http://20.0.0.20或www.lvbu.com


c4.pngc5.png


5、基于客户端的访问控制:


访问控制规则如下:

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。

allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。

规则从上往下执行,如匹配则停止,不再往下匹配。


vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加控制规则##
            deny 20.0.0.100;                    #拒绝访问的客户端 IP
            allow all;                              #允许其它IP客户端访问
        }
    }
systemctl restart nginx


c6.pngc7.pngc8.png


6、基于域名的Nginx虚拟主机:


a)为虚拟主机提供域名解析

echo "20.0.0.14 www.lvbu.com www.accp.com" >> /etc/hosts

b)为虚拟主机准备网页文档

mkdir -p /var/www/html/lvbu
mkdir -p /var/www/html/accp
echo "<h1>www.lvbu.com</h1>" > /var/www/html/lvbu/index.html
echo "<h1>www.accp.com</h1>" > /var/www/html/accp/index.html

c9.png


c)修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 80;
        server_name www.lvbu.com;                   #设置域名www.lvbu.com
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;                    #设置www.lvbu.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.caocao.com;                 #设置域名www.caocao.com
        charset utf-8;
        access_log logs/www.caocao.access.log;
        location / {
            root /var/www/html/caocao;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }  
}


c10.pngc11.pngc12.png


7、基于IP的Nginx的虚拟主机:


ifconfig ens33:0 20.0.0.21 netmask 255.255.255.0
vim /usr/local/nginx/conf/nginx.conf
......
http {
......
server {
        listen 20.0.0.20:80;                    #设置监听地址
        server_name www.lvbu.com;
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
server {
    listen 20.0.0.20:80;                    #设置监听地址
    server_name www.caocao.com;
    charset utf-8;
    access_log logs/www.caocao.access.log;
    location / {
        root /var/www/html/caocao;
        index index.html index.php;
    }
    error_page 500 502 503 504 /50x.html;
    location = 50x.html{
        root html;
    }
}  
}
systemctl restart nginx


c13.png


8、基于端口的Nginx的虚拟主机:

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 20.0.0.17:666;                   #设置监听 666 端口
        server_name www.lvbu.com;
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
server {
    listen 20.0.0.21:888;                   #设置监听 888 端口
    server_name www.accp.com;
    charset utf-8;
    access_log logs/www.caocao.access.log;
    location / {
        root /var/www/html/accp;
        index index.html index.php;
    }
    error_page 500 502 503 504 /50x.html;
    location = 50x.html{
        root html;
      }
  }
}<br><br><br><br>systemctl restart nginx

c15.png


相关文章
|
23天前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
55 7
|
2月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
2月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
308 0
|
2月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
97 4
|
19天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
24天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
10天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
31 3
|
1月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
200 1
nginx配置反向代理404问题
|
19天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
33 4
|
19天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
42 3