服务器 > 服务器 > Nginx

Nginx性能优化的几个方法总结

47人参与 2024-11-25 Nginx

小伙伴们平时使用 nginx 是否有进行过性能优化呢?还是软件装好了就直接使用呢?

今天小编和大伙分享几个常见的 nginx 优化配置。

整体上来说,nginx 的优化可以从多个层面进行:

接下来我们就来看看具体该如何做。

一 nginx 配置优化

events {
    worker_connections 1024;
}
worker_processes auto;
server {
    listen 80;
    listen [::]:80;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
}
ssl_protocols tlsv1.2 tlsv1.3;
ssl_ciphers high:!anull:!md5;

二 缓存利用

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
server {
    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}

在上面这段配置中,proxy_cache_path 指令用于配置一个缓存区域,该区域用于存储代理请求的响应内容。这个指令通常在 http 块中使用,并且是 ngx_cache_purge 模块和 ngx_http_proxy_module 模块的一部分。

这项配置中的各参数含义如下:

三 压缩策略

gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain application/xml application/json application/javascript text/css;

各项配置的含义分别如下:

四 安全性优化

隐藏版本信息可以提高服务器的安全性,使攻击者难以通过版本信息推断出服务器可能存在的安全漏洞。

要隐藏 nginx 版本号,有三个办法,一般来说我们使用第一种方式就可以了。

修改配置文件

在 nginx 的配置文件中,在 http 块中添加以下配置:

server_tokens off;

这样设置后,nginx 将不会在错误页面上显示版本号。

配置完成之后,保存配置文件并重新加载 nginx 以应用更改:

nginx -t   # 测试配置文件是否正确
nginx -s reload   # 重新加载nginx配置

这种方法可以隐藏错误页面上的版本信息,但可能无法完全隐藏所有响应头中的版本信息 。

修改 nginx 源码

如果想要从根源上修改 nginx 版本信息,需要重新编译 nginx,步骤如下:

修改完这些文件后,需要重新编译 nginx。这样编译安装后,nginx 的版本信息将被彻底修改 。

使用第三方模块

如果需要动态修改响应头中的版本信息,可以使用如 headers-more-nginx-module 模块。这个模块允许你动态地添加、修改或删除 nginx 的响应头。通过这个模块,可以完全控制 server 响应头的内容 。

选择哪种方法取决于你的具体需求和环境。

如果你只是想简单地隐藏版本信息,修改配置文件可能是最简单的方法。如果你需要更彻底地控制版本信息,可能需要考虑修改源码并重新编译 nginx。

五 监控和日志优化

日志配置如下:

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

六 系统层面优化

fs.file-max = 65535
net.core.somaxconn = 1024

七 故障转移优化

配置健康检查(使用第三方模块 nginx_upstream_check_module):

upstream backend {
    server backend1.example.com check;
    server backend2.example.com check;
}

到此这篇关于nginx性能优化的几个方法总结的文章就介绍到这了,更多相关nginx性能优化内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

nginx之virtual host虚拟主机的配置实现

11-25

深入了解nginx主配置文件

11-25

nginx配置history模式的使用小结

11-03

nginx代理本地文件夹如何获取数据

02-13

配置nginx访问本地静态资源,本地图片,视频教程

02-13

Nginx部署Vue项目添加访问后缀方式

02-13

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论