LNMP环境简单优化教程

一:LNMP可以进行简单优化,主要2方面。NGINX和PHP进程数,分别是以下2个文件:

1. /usr/local/nginx/conf/nginx.conf
2. /usr/local/php/etc/php-fpm.conf
1.在nginx.conf中worker_processes默认是 1;可以修改成2或3个
ps:不是越大越好。只运行网站的话默认1个处理数据速度最快。nginx不需要像apache那样开启过多的线程来保证其稳定运行。
2.在php-fpm.conf中需要修改下面几个参数:
php-fpm.conf中有两个至关重要的参数:
一个是”max_children”,另一个是”request_terminate_timeout”
”max_children”默认好像是5个
126M内存默认即可
256M 12个
512M 25个
1G 40个
”request_terminate_timeout”默认好像是0s
机器内存大性能好可以保持默认,性能一般的话
可以设置为900s
优化后,使用以下命令重新启动lnmp。
/root/lnmp restart

二:Mysql禁用日志

修改 /etc/my.cnf 文件

在log-bin=mysql-bin和binlog_format=mixed

这两行前面加#注释掉即可。
三:修改最大同时连接数有下面三种修改方式:
1》在/etc/rc.local 中增加一行 ulimit -SHn 65535

2》在/etc/profile 中增加一行 ulimit -SHn 65535

3》在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535

具体使用哪种,试试哪种有效,CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果。

四:知其然知其所以然,深入学习篇

如果想深入了解个参数的意义可以继续观看下面的解析

一:php-fpm.conf详细解析篇:

pm = static (静态模式)时只需修改 max_children数值
pm = dynamic (动态模式)时只需修改其它三个数值

pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
设置”max_children”需要根据服务器的性能进行设定,每一个php-cgi所耗费的内存在20M左右,因此我的”max_children”我设置成20个,20M*20=400M也就是说在峰值的时候所有PHP-CGI所耗内存在400M以内,低于我的有效内存512mb。这样能保证,在PHP大并发的情况下不会502错误。
设置”request_terminate_timeout”如果你的服务器性能足够好,且宽带资源足够充足的话你可以直将”request_terminate_timeout”设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。

二.修改最大同时连接文件数

系统默认是1024,最好改大些
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)


有如下三种修改方式:

①在/etc/rc.local 中增加一行 ulimit -SHn 65535
②在/etc/profile 中增加一行 ulimit -SHn 65535
③在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535
具体使用哪种,试试哪种有效吧,CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果。

时间: 2024-09-26 00:22:27

LNMP环境简单优化教程的相关文章

MySQL中对表连接查询的简单优化教程_Mysql

在MySQL中,A LEFT JOIN B join_condition执行过程如下: · 根据表A和A依赖的所有表设置表B. · 根据LEFT JOIN条件中使用的所有表(除了B)设置表A. · LEFT JOIN条件用于确定如何从表B搜索行.(换句话说,不使用WHERE子句中的任何条件). · 可以对所有标准联接进行优化,只是只有从它所依赖的所有表读取的表例外.如果出现循环依赖关系,MySQL提示出现一个错误. · 进行所有标准WHERE优化. · 如果A中有一行匹配WHERE子句,但B中没

腾讯云主机安装LNMP环境及wordpress教程_Linux

许多云主机都有学生优惠,于是我趁着现在大一买了个腾讯1元云主机+免费cn域名(高中生的话就别想了).鉴于我只知道用服务器安装博客,别的用途不了解,所以我就去安装wordpress. 而由于我看的教程有点问题,有的问题搜索引擎解决不了,我要么瞎折腾整好了,要么重装系统,最后一次挺顺利,半小时左右装好,但后续还有各种问题,一个个解决掉了.于是记录下来方便后(面要搭博客的)人.我参考的教程阿里云Centos7安装LNMP环境和wordpress(有点坑,但还是不错的). LNMP=Linux+Ngin

详细图解Win7安装完成后简单优化教程

1.首先,调整下语言选项栏.去除"EN".挪到任务栏右边. 点击最小化→点击三角弹出菜单→点击"任务栏中的其他图标"以取消勾选. 2.关闭UAC.UAC是啥?见百科. 如果你只是一个电脑菜鸟,不建议你关闭UAC,因为你不一定对木马.病毒有充份的防范!不要在意那点提示,看起来是比较烦,其实它是善意的!就像你年迈的父母一样的唠叨,不是么? 当然,如果你是一位老鸟,有足够的能力,那就另当别论了~ 关闭步骤如图. 3.删除"操作中心"图标,即那个讨厌的小

Win7安装完成后简单优化教程

  1.首先,调整下语言选项栏.去除"EN".挪到任务栏右边. 点击最小化→点击三角弹出菜单→点击"任务栏中的其他图标"以取消勾选. 2.关闭UAC.UAC是啥?见百科. 如果你只是一个电脑菜鸟,不建议你关闭UAC,因为你不一定对木马.病毒有充份的防范!不要在意那点提示,看起来是比较烦,其实它是善意的!就像你年迈的父母一样的唠叨,不是么? 当然,如果你是一位老鸟,有足够的能力,那就另当别论了~ 关闭步骤如图. 3.删除"操作中心"图标,即那个讨厌

Hadoop HBase 单机环境简单配置教程

写在前面: Hadoop是Apache的一个项目,它是一个实现了MapReduce计算模型的可以运用于大型集群并行计算的分布式并行计算编程框架,当然分布式计算离不开分布式存储,Hadoop框架包含了分布式存储系统HDFS(Hadoop Distributed File System),其存储和数据结构很类似Google的GFS. HBase是Hadoop的子项目,它是基于Hadoop HDFS分布存储系统的一个Google BigTable开源实现(最近看了BigTable的Paper,很受鼓舞

CentOS 7系统YUM快速安装LNMP环境教程

源码编译安装 LNMP 环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待.如果能在 10 分钟后内搞定环境安装,再好不多了. 那么如何在 10 分钟内快速安装完 LNMP 环境呢,答案是 使用 YUM 安装. 什么 YUM ? 官网给出的解释 yum is a software package manager that installs, updates, and removes packages on RPM-based systems. It automatically

VPS主机CentOS系统安装LNMP环境图文教程分享_Linux

我们国人使用VPS安装的系统环境最多的可能就是LNMP,笔者最近也在学着安装和使用VPS,也看到很多种系统环境可以选择,当然包括可以选择安装面板管理.暂时我不选择安装面板,一来使用面板没有技术含量,二来从难处学习,直接使用SSH操作VPS感觉还是非常有面子的.从多个系统中,我暂时也比较不了好坏,每一个都安装和测试一遍,并且把相关的信息都记录,一遍日后对比. 今天先来在CentOS中安装LNMP系统,最低的系统要求为128M内存,我相信大家的VPS最低也应该有256M内存,我测试的机器为512M内

centos 7.2下搭建LNMP环境教程_php实例

本机环境:服务器是阿里云ECS:使用的镜像是:公共镜像 CENTOS 7.2  一.nginx安装 1.下载对应当前系统版本的nginx包(package) ​ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2.建立nginx的yum仓库(默认yum是没有nginx的) ​ rpm -ivh nginx-release-centos-7-0.el7.n

lnmp环境的主机上安装fancy的教程

lnmp环境 这个就不多说了,目前有1.2版的lnmp具体请直接移步lnmp.org. lnmp这种一键安装脚本,对于我这种懒人来说兼职是太爽了. fancy模块 ngx-fancyindex模块是一个nginx美化目录浏览(目录索引)的插件. 与其说是一个插件,不如说是功能补全,因为nginx自带的目录索引功能真的是无力吐槽了. fancy模块的安装在lnmp解压目录里, 我的是在/root/lnmp1.2-full/include目录 有一个upgrade_nginx.sh文件 找到后用na