2024年最新Web 基础——Nginx(二)_keyzone配置,2024年最新腾讯T2大佬手把手教你

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

[root@localhost nginx-1.18.0]# cat auto/options | grep ‘YES’ # 查看 Nginx 默认安装的所有模块


查看是否有 `limit_conn` 和 `limit_req` 这两个模块



[root@localhost nginx-1.18.0]# cat auto/options | grep ‘HTTP_LIMIT_CONN=YES’
HTTP_LIMIT_CONN=YES
[root@localhost nginx-1.18.0]# cat auto/options | grep ‘HTTP_LIMIT_REQ=YES’
HTTP_LIMIT_REQ=YES


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421170048816.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 **配置 Nginx 连接限制**



语法格式:
limit_conn_zone key zone=name:size # 需要在 http 区域中配置
limit_conn zone number # 可以在 http | server | location 区域中配置



[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {

limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
server {

location / {

limit_conn conn_zone 1; # 同一时刻只允许一个客户端 IP 地址
[root@localhost ~]# systemctl restart nginx


验证:



[root@localhost ~]# yum -y install httpd-tools # 安装 AB 压力测试工具
[root@localhost ~]# echo “

Hello

” > /usr/local/nginx/html/index.html # 编写测试页面
[root@localhost ~]# ab -n 200 -c 20 http://127.0.0.1/


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421173913485.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 **配置 Nginx 请求限制**



语法格式:
limit_req_zone key zone=name:size rate=rate # 需要在 http 区域中配置
limit_req zone number [burst=number] [nodelay] # 可以在 http | server | location 区域中配置



[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {

limit_req_zone $binary_remote_addr zone=req_zone:10m rate=30r/m; # rate 限制速率. 限制一秒钟最多一个 IP 请求
server {

location / {

limit_req zone=req_zone;
[root@localhost ~]# systemctl restart nginx


验证:



[root@localhost ~]# ab -n 200 -c 20 http://127.0.0.1/


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421173436789.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)


#### 2)第二种方式


* 基于 IP 的访问控制 `http_access_module`
* 基于用户名登录认证 `http_auth_basic_module`


**配置基于 IP 的访问控制**



[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location / {

deny 192.168.1.250; # 拒绝单个IP. 可以在 http | server | location 区域中配置
allow all; # 允许所有
[root@localhost ~]# systemctl restart nginx # 重启 Ngix 服务


验证:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421183620776.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 **基于用户登录认证**



[root@localhost ~]# htpasswd -c /usr/local/nginx/conf/auth_conf zhangsan # 创建测试用户
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location / {

auth_basic “Auth access Blog Input your Passwd ~”; # 提示语. 可以在 在 http | server | location 区域中配置
auth_basic_user_file /usr/local/nginx/conf/auth_conf; # 限制用户文件. 可以在 http | server | location 区域配置
[root@localhost ~]# systemctl restart nginx # 重启 Ngix 服务


验证:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421184439444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421184454367.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)


### 5.Nginx 虚拟主机


所谓虚拟主机,就是在 Web 服务器里是一个独立的网站站点,这个站点对应独立的域名(也有可能是 IP 或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问。


1)创建 Web 站点目录



[root@localhost ~]# mkdir /usr/local/nginx/html/Coco/
[root@localhost ~]# mkdir /usr/local/nginx/html/Zozo/
[root@localhost ~]# echo “Hello Coco” > /usr/local/nginx/html/Coco/index.html
[root@localhost ~]# echo “Hello Zozo” > /usr/local/nginx/html/Zozo/index.html


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421185301726.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 2)配置基于域名的虚拟主机



[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {

server {
listen 80;
server_name www.Coco.com;
location / {
root html/Coco;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.Zozo.com;
location / {
root html/Zozo;
index index.html index.htm;
}
}
}
[root@localhost ~]# systemctl restart nginx #重启 Nginx 服务
[root@localhost ~]# cat <> /etc/hosts #配置 Hosts 文件解析
192.168.1.1 www.Coco.com
192.168.1.1 www.Zozo.com
END


验证:



[root@localhost ~]# curl http://www.Coco.com
[root@localhost ~]# curl http://www.Zozo.com


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421191701497.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjkwMjM5Ng==,size_16,color_FFFFFF,t_70)  
 **配置虚拟主机别名**


* 所谓虚拟主机别名,就是虚拟主机设置除了主域名以外的一个域名,实现用户访问的多个域名对应同一个。



[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {

server {
listen 80;
server_name www.Coco.com Coco.com;
location / {
root html/Coco;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.Zozo.com;
location / {
root html/Zozo;
index index.html index.htm;
}
}
}
[root@localhost ~]# cat <> /etc/hosts
192.168.1.1 Coco.com
END
[root@localhost ~]# curl http://Coco.com
[root@localhost ~]# curl http://www.Coco.com




![img](https://img-blog.csdnimg.cn/img_convert/0af422fd2f4e14d450b77987201de35a.png)
![img](https://img-blog.csdnimg.cn/img_convert/c77f59db635030c9ac3db951eac8b539.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款高性能的Web服务器软件,它支持SSL/TLS协议,可以为Web应用程序提供安全的访问。本文将介绍如何在Nginx上开启SSL模块,并配置SSL证书,使得Web应用程序支持HTTPS访问。 1. 安装SSL模块 在编译Nginx的时候,需要开启SSL模块。可以在编译选项中加入--with-http_ssl_module参数来开启SSL模块。如果使用的是预编译的进制包,可以通过查看nginx.conf文件来确定是否开启了SSL模块。如果存在以下配置项,则说明SSL模块已经开启。 ``` listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; ``` 2. 配置SSL证书 SSL证书用于加密网站和客户端之间的通信,防止敏感信息在传输过程中被窃取。可以购买SSL证书,也可以使用免费的证书,例如Let's Encrypt。 在配置SSL证书之前,需要先生成证书和私钥。可以使用如下命令生成自签名证书和私钥。 ``` openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt ``` 生成的server.key和server.crt文件分别是私钥和证书。接下来,需要将证书和私钥拷贝到Nginx配置文件所在的目录。 ``` cp server.crt /etc/nginx/ cp server.key /etc/nginx/ ``` 然后,在Nginx配置文件中添加以下配置项,指定证书和私钥的路径。 ``` ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; ``` 3. 配置SSL协议和加密算法 在Nginx配置文件中,可以配置SSL协议和加密算法。可以使用如下配置项指定SSL协议。 ``` ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ``` 可以使用如下配置项指定加密算法。 ``` ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ``` 4. 配置HTTPS监听端口 在Nginx配置文件中,可以使用如下配置项开启HTTPS监听端口。 ``` server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; location / { # 配置Web应用程序的根目录 root /var/www/html; index index.html; } } ``` 在以上配置中,listen 443 ssl指定了HTTPS监听端口,并且ssl_certificate和ssl_certificate_key指定了SSL证书和私钥的路径。location /用于配置Web应用程序的根目录。 5. 重启Nginx服务 完成以上配置后,需要重启Nginx服务,使得配置生效。 ``` service nginx restart ``` 通过以上步骤,就可以在Nginx上开启SSL模块,并配置SSL证书,使得Web应用程序支持HTTPS访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值