欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx管理配置优化

程序员文章站 2022-04-29 21:58:23
...

这篇文章主要介绍了关于nginx管理配置优化,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

nginx优化

优化思路
nginx管理配置优化

基本优化

1、调整参数隐藏nginx软件版本号信息

server_tokens off;

2、更改nginx服务默认用户

user nginx nginx;

3、优化nginx服务的worker进程个数

worker_processes cpu*核数;

4、优化绑定不同的nginx进程到不同的cpu上

worker_cpu_affinit 0001 0010 0100 1000 0001 0010 0100 1000;

5、nginx时间处理模型优化

use epoll

6、调整单进程最大连接数

worker_connections 20480;

7、nginx work进程最大打开文件数

worker_rlimit_nofile 65535;

8、开启高效文件传输模式

sendfile on;

用于开启文件的高效传输模式,同时将tcp_nopush和tcp_nodelay两个指令设置为on,可以防止网络及磁盘I/O阻塞,提升nginx工作效率。
9、优化连接超时时间

keepalive_timeout 0;          //结束响应后立即断开tcp连接。

10、fastCGI优化

11、配置nginx gzip压缩实现性能优化

gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_comp_level 9;
gzip_vary on;

12、配置nginx expires缓存实现性能优化

nginx expires 3650d;

13、nginx日志相关优化与安全
14、根据拓展名限制程序和文件访问。

dell all;allow all;

15、防盗链

HTTP referer

系统层面优化

1、系统层面优化

echo 500000 > /proc/sys/net/core/somaxconn  //设置最大连接数
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  //加快tcp回收
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse    //空的tcp允许回收利用
echo 0 > /proc/sys/net/ipv4/tcp_syncookies  //关闭洪水抵御

2、nginx&php-fpm优化配置
nginx将请求转发给php-fpm处理,当nginx转发很多请求时,php-fpm进程不够用,就会生成子进程。
然而生成子进程需要内核来调度,比较耗时。
如果网站并发比较大,可以用静态方式一次性生成多个子进程,保持的内存中。
修改phjp-fpm.conf

pm=static //让php-fpm进程始终保持,不需要动态生成pm.max_children=32 始终保持的子进程数量

3、php&mysql优化
内核层面:加大连接数,加快tcp回收
mysql层面:增大连接数
php层面:用长连接,节省连接数
用内存缓存(memcached),减轻mysql压力
注意
内存缓存适用于缓存复杂的sql查询。因为phpmemcached也要建立tcp连接,所以简单的sql查询不需要用缓存。

以上就是nginx管理配置优化的详细内容,更多请关注其它相关文章!