摘自:https://segmentfault.com/a/1190000040559345
Nginx常见的优化配置有哪些
调整worker_processes
指Nginx要生成的worker数量,最佳实践是每个CPU运行1个工作进程。
了解系统中的CPU核心数,输入
1 | $ grep processor / proc / cpuinfo | wc -l |
最大化worker_connections
Nginx Web服务器可以同时提供服务的客户端数。与worker_processes结合使用时,获得每秒可以服务的最大客户端数
最大客户端数/秒=工作进程*工作者连接数
为了最大化Nginx的全部潜力,应将工作者连接设置为核心一次可以运行的允许的最大进程数1024。
启用Gzip压缩
压缩文件大小,减少了客户端http的传输带宽,因此提高了页面加载速度
建议的gzip配置示例如下,http部分内)
为静态文件启用缓存
为静态文件启用缓存,以减少带宽并提高性能,可以添加下面的命令,限定计算机缓存网页的静态文件:
1 | location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { |
Timeouts
keepalive连接减少了打开和关闭连接所需的CPU和网络开销,获得最佳性能需要调整的变量可参考:
禁用access_logs
访问日志记录,它记录每个nginx请求,因此消耗了大量CPU资源,从而降低了nginx性能。
完全禁用访问日志记录
1 | access_log off; |
如果必须具有访问日志记录,则启用访问日志缓冲
1 | access_log /var/log/nginx/access.log主缓冲区= 16k |