Nginx优化(一)

简介: Nginx优化

前言

在企业信息化环境中,服务器的安全性和响应速度需要根据实际情况进行相应安全配置以达到最优用户体验。

默认的Nginx安装只能提供最基本的服务,还需要调整如网页缓存时间、连接超时、网页压缩相应参数,才能发挥出服务器的最大作用。

提示:以下是本篇文章正文内容,下面案例可供参考


一、Nginx服务优化


1、隐藏版本号

在生产环境中,需要隐藏Nginx的版本号,以避免泄露Nginx版本号,使攻击者无法针对特定版本漏洞攻击。


1.1 查看版本号

在隐藏Nginx版本号之前先用curl命令查看当前Nginx版本。可以使用 Fiddler 工具抓取数据包,查看 Nginx版本,也可以在 CentOS 中使用命令 curl -I http://192.168.59.118 显示响应报文首部信息。


curl -I http://192.168.94.151


1.2 隐藏方法一:修改Nginx源代码文件

指定不显示版本号,将Nginx的配置文件中的server_tokens选项值设置为off,如果没有加上即可。

演示:

1.#修改配置文件
vim /usr/local/nginx/conf/nginx.conf
 ```handlebars
http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;   #添加,关闭版本号
    ......
}
2.#重启nginx
systemctl restart nginx
3.#查看版本是否被隐藏
curl -I http://192.168.59.118
2.#重启nginx
systemctl restart nginx
3.#查看版本是否被隐藏
curl -I http://192.168.59.118


结果:


1.3 隐藏方法二:修改源码文件,重新编译

Nginx源码文件 /usr/src/nginx-1.20.2/src/core/nginx.h 包含了版本信息,可以随意设置,然后重新编译,就可以隐藏版本号了。

演示:


1. #切换至nginx安装包所在目录
cd /opt/
2. #停止nginx服务
systemctl stop nginx.service
3. #切换至安装目录
cd nginx-1.12.0/
4. #切换至内核目录
cd src/core/
5. #进入配置文件
vim nginx.h
#define NGINX_VERSION      "yxp"
#define NGINX_VER          "yyy/" NGINX_VERSION
6. #切换至文件目录
cd ../../
7. #编译
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
8. #安装
make && make install -j4
9. #将配置文件下的之前关闭版本信息开启
vim /usr/local/nginx/conf/nginx.conf
server_tokens on;
10. #重启nginx
systemctl restart nginx
11. #查看版本信息
curl -I http://192.168.59.118


2、修改用户与组

Nginx运行时进程需要有用户与组支持,用以实现对网站文件读取进行访问控制。主进程由root创建,子进程由指定的用户与组创建。Nginx默认使用nobody用户与组账号,一般也要进行修改。


2.1 方法一:修改配置文件指定用户与组

整体操作:


1. #修改配置文件
vim /usr/local/nginx/conf/nginx.conf
user  cs cs;  #取消注释,修改用户为 cs ,组为 cs
2. #创建非登录用户
useradd -s /sbin/nologin lili
3. #重启服务
systemctl restart nginx
4. #查看是否修改成功
ps aux | grep nginx



重启Nginx查看进程运行情况,主进程由root用户创建,子进程由cs用户创建



2.2 方法二:在编译安装Nginx时指定用户与组

就是在配置Nginx时,在./configure后面指定用与组的参数


./configure
--pre=/usr/local/nginx
--user=cs  #指定用户是cs
--group=cs #指定组是cs
--with-http_stub_status_module
&& make && make install


3、配置网页缓存时间

当 Nginx 将网页数据返回给客户端后,可设置缓存的时间,以方便日后进行相同的请求时直接返回,避免重复请求,加快访问速度,一般只针对静态资源进行设置,对动态网页不用设置缓存时间。


整体操作:


1. #修改配置文件
vim /usr/local/nginx/conf/nginx.conf
        #添加以下内容
    location ~ \.(gif|jpg|jepg|png|bmp|ico)$ {    #加入新的 location,以图片作为缓存对象
      root html;
      expires 1d;                 #指定缓存时间,1天
         }
2. #查看是否有语法错误
nginx -t
3. #重启服务
systemctl restart nginx.service 
4.#在网页中查看服务
http://192.168.59.118/game.png
 Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。

演示:

(1)以图片作为缓存对象,复制tutu.jpg 图片到 Nginx 的工作目录,访问

http://192.168.94.151/1ogo.jpg,用 Fiddler 工具进行抓包,如图 8.1 所示,查看响应报文,没有图片的缓存信息。


cd /usr/local/nginx/html
先将tutu.jpg文件传到/usr/local/nginx/html目录下
vim index.html
...... 
<img src="tutu.jpg"/>       #网页中插入图片
</body>
</html>

(2)修改Nginx的配置文件,在新location段加入expires参数,指定缓存时间,1d表示一天。


vim /usr/local/nginx/conf/nginx.conf
        #添加以下内容
    location ~ \.(gif|jpg|jepg|png|bmp|ico)$ {    #加入新的 location,以图片作为缓存对象
      root html;
      expires 1d;                 #指定缓存时间,1天
         }


(3)重启Nginx服务后,访问网址后,访问网址抓包,响应报文中有expires有效期。其中的Cache-Control:max-age=86400秒,也就是缓存一天。





相关文章
|
5月前
|
应用服务中间件 nginx
nginx优化:URI过长或request header过大导致400或414报错
当出现URI过长或请求头过大导致400或414报错时,可以通过以下方式对Nginx进行优化: 1. 调整client_max_body_size参数:该参数用于限制请求体的大小。默认情况下,Nginx的client_max_body_size参数设置为1M。如果请求体超过这个大小,Nginx会返回400错误。您可以根据实际需求适当增加这个值,例如设置为10M或更大。 ``` http { client_max_body_size 10M; } ``` 2. 调整large_client_header_buffers参数:该参数用于调整请求头缓冲区的大
802 0
|
5月前
|
应用服务中间件 Linux PHP
|
6月前
|
缓存 安全 应用服务中间件
百度搜索:蓝易云【Nginx的搭建和优化详细教程。】
通过以上步骤,你已经成功搭建和优化了Nginx服务器。你可以根据自己的需求进行进一步的配置和调整,以满足你的网站的性能和安全需求。
261 3
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue项目加载慢,Nginx页面优化
vue项目加载慢,Nginx页面优化
51 0
|
4月前
|
数据可视化 应用服务中间件 Linux
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
|
4月前
|
缓存 负载均衡 算法
百度搜索:蓝易云【如何优化Nginx服务进程详细。
优化Nginx服务进程是一个持续的过程,需要不断地监测和调整。建议在优化之前备份配置文件,并逐步应用和测试每个优化步骤的效果,以确保服务的稳定性和可靠性。
26 0
|
4月前
|
应用服务中间件 nginx
简单理解Nginx内存池:优化性能的关键
简单理解Nginx内存池:优化性能的关键
109 0
|
4月前
|
缓存 监控 应用服务中间件
百度搜索:蓝易云【Nginx优化教程。】
这些是一些常见的Nginx优化技巧,具体的优化策略可以根据实际情况和需求进行调整。在进行任何更改之前,请确保备份配置文件,并进行适当的测试和性能监测,以确保所做的优化不会导致任何不良影响。
22 0
|
5月前
|
缓存 负载均衡 应用服务中间件
Nginx 的优化思路,并解析网站防盗链
Nginx 的优化思路,并解析网站防盗链
122 1
|
5月前
|
缓存 应用服务中间件 Linux
深入理解Nginx工作原理及优化技巧(下)
深入理解Nginx工作原理及优化技巧