Bai Wu Ya 一个码农的博客

漫漫全栈路,何曾有坦途 ... This is an application developed with golang GitHub: https://github.com/ibaiwuya | Email: ibaiwuya@163.com

lnmp配置笔记

0条评论 53人浏览

php-fpm.conf

listen =127.0.0.1:9000
listen =/tmp/phpfpm.sock #不好 ,sock高并发报502错误
pm.max_requests = 10240 #最大请求数优化
这个用来处理因为PHP解析器或引用的第三方库时,造成的内存泄露问题。最大请求数:指一个php-fpm的工作进程在处理多少个请求后就终止掉。
request_terminate_timeout=0; #脚本超时时间

php-fpm.conf
pm = static
pm.max_children=24
具体策略看情况
pm.max_children 数量的多少根据机器内存确定,基本上一个进程需要30M的内存,假设起100个进程,那么就是3000M,3G内存

nginx配置

worker_processes	4;
worker_rlimit_nofile 20000; #指定一个nginx进程可以打开的最多文件描述符数目
events {
worker_connections 10000; #设定worker的最大连接数
accept_mutex on;
multi_accept on; #打开同时接受多个新网络连接请求的功能。
use epoll; #epoll 运行方式 linux 服务器的优点所在
}
http {
#code ...
access_log off;
server {
#code ...
location ~ \.php$ {
root /www/;
fastcgi_pass unix:/tmp/phpfpm.sock; # 127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME document_root$fastcgi_script_name;
}
}
}
sysctl -p
killall php-fpm
php-fpm
/usr/local/nginx/sbin/nginx

linux 系统配置

1、调整同时打开文件数量
ulimit -n 20480
--------------------------------------------------------------------------------
TCP连接立即回收、回用(recycle、reuse)
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
--------------------------------------------------------------------------------
echo 50000 > /proc/sys/net/core/somaxconn
--------------------------------------------------------------------------------
让系统不做洪水抵御保护,(当系统检测到80端口在大量的请求时,会自动给返回信息中增加 cookie ,还验证客户端身份,从而避免受到攻击,但这时只是高并发,并不是攻击,所以要把这个抵御机制给关闭) 方法如下
echo 0 >/proc/sys/net/ipv4/tcp_syncookie (系统默认为1,修改为0)
--------------------------------------------------------------------------------
也可以直接使用优化后的配置,在/etc/sysctl.conf中加入
net.core.somaxconn = 20480
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_max_syn_backlog = 16384
net.core.netdev_max_backlog = 20000
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_orphans = 131072
net.ipv4.tcp_syncookies = 0
使用:sysctl -p 生效
sysctl -p


评论列表

  1. 加载中 ...