军哥LNMP优化
http://bbs.vpser.net/thread-8914-1-1.html
http://www.zxsdw.com/index.php/archives/881/
修改/usr/local/php/etc/php-fpm.conf php 5.2调整:max_children的值
php 5.3以上版本调整:pm.min_spare_servers和pm.max_spare_servers的值适当增加
最大值可以按内存xxMB/2/20 的整数来算,最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看。
************************************
如果mysql安装时开启了innodb的话,内存在4G以上可以用/usr/local/mysql/share/mysql/ (mysql5.5在5.5在/usr/local/mysql/support-files/)下面的my-innodb-heavy-4G.cnf 替换/etc/my.cnf
1-2G的话,没开启innodb的话可以用my-huge.cnf,如开启了innodb需要修改配置文件启用。
***********************************
nginx可以调整 /usr/local/nginx/conf/nginx.conf 的worker_processes
Nginx作者说的:
一般一个进程足够了,你可以把连接数设得很大。如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,以充分利用IO带宽(主要似乎是IO操作有block)。
现在大部分版本上也可以设置为:worker_processes auto; 自动调整
*****************************************
所有调整均需要重启对应的程序使其生效。
建议改配置前备份一下配置文件,以便出错时恢复或查找错误。
我的优化(仅供参考): 我的配置为:(E5-2670*2, 32G, 1T+240SSD,独享30M)
php-fpm优化:
vim /usr/local/php/etc/php-fpm.conf
pm = dynamic //这里我设为动态,如果并发量大的 可以设为静态 并把pm.max_children调大。
pm.max_children = 100 //pm 为静态时(static)的进程数
pm.start_servers = 100 // 动态模式:开始时的子进程数
pm.min_spare_servers = 50 // 动态模式: 空闲时的子进程数
pm.max_spare_servers = 300 // 动态模式: 忙时最大的进程数
PS: 如果设置成static,进程数自始至终都是 pm.max_children 指定的数量,如果设置成dynamic,则进程数是动态的
当php-fpm启动后,一个php-cgi进程约战3M内存,但是当它们处理过一些请求后,有些内存是释放不掉的,占用的内存能达到20M-30M不等。 每个值要设多少自己算,记得内存要留一半给MYSQL。
NGINX的优化:
防止IP访问服务器 加在 http { } 里面 ; 每个server{}都是写在http{}里面的。
vim /usr/local/nginx/conf/nginx.conf
(1)cpu有多少个核,就有几位数,1代表内核开启,0代表内核关闭
(2)worker_processes最多开启8个,8个以上性能就不会再提升了,而且稳定性会变的更低,因此8个进程够用了
参考: http://www.linuxeye.com/Linux/nginx_worker_cpu_affinity.html
参考:http://www.php230.com/set-worker-cpu-affinity-to-up-nginx-performance.html
示例
两核cpu,开启两个进程 worker_processes ;
worker_cpu_affinity ;
01表示启用了第一个cpu内核,10表示启用了第二个cpu内核
worker_cpu_affinity ;表示开启了两个进程,第一个进程对应着第一个cpu内核,第二个进程对应着第二个cpu内核 两核cpu,开启八个进程 worker_processes ;
worker_cpu_affinity ;
开启了8个进程,它们分别对应了开启2个内核 8核cpu,开启8个进程 worker_processes ;
worker_cpu_affinity ;
00000001表示开启第一个cpu内核,00000010表示开启第二个cpu内核,依次类推 8核cpu,开启2个进程 worker_processes ;
worker_cpu_affinity ;
10101010表示开启了第2,,,8内核,01010101表示开始了1,,,7内核
2个进程对应着8个内核 配置完成后,需要导入配置文件
/usr/local/nginx/sbin/nginx -s reload
worker_processes auto; //auto是自动,工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。
worker_cpu_affinity auto;
server //把default的server改为禁止IP访问。
{
listen default;
listen default;
return ;
}
Nginx 配置修改,http://blog.csdn.net/kongdeqian1988/article/details/7977927
PHP-fpm 修改max_children,max_request
MySQL配置更改http://blog.csdn.net/kongdeqian1988/article/details/7965268
军哥LNMP优化的更多相关文章
- 军哥 LNMP 常见问题
安装memcached出错: Install memcached...Notice: memcached-1.4.25.tar.gz not found!!!download now...--2016 ...
- 使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件
#使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件(这一点官方没有讲到)具体方法:1.修改hosts文件sudo vim /etc/hosts 2.在hosts文件中新增一行(这里类似 ...
- 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的
[军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的 之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...
- LNMP优化
LNMP优化 LNMP优化从系统安全,系统资源占用率,及web服务并发负载这三个方面体现,并 且主要体现在web服务并发负载这一方面. 1:首先进行linux优化加固 Linux ...
- 【军哥谈CI框架】之CI中集成百度UEditor
Hello,各位亲,新的一周来临啦,很高兴这么快又跟大家伙见面!话说上一回,军哥带大家用JQuery写了一个城市级联菜单的例子 ,不知道亲们学会了多少,是否自己可以独立写出来了呢. 军哥很是期待大家学 ...
- lnmp 优化
一,版本信息优化 重启 直接更改版本号: 在源码包里改 第二个要改的地方 第三个需要更改的 改完后编译安装,下次我直接写进编译脚本上
- Linode和DigitalOcean lnmp一键安装包哪个好?
Linode和DigitalOcean都是非常棒的VPS厂商,512MB内存的VPS每月低到5美元,搭建wordpress网站,非常方便,甚至可以多人共用,服务器足够强悍,跑几个wordpress博客 ...
- LNMP V1.4一键快速部署Let's Encrypt免费SSL证书
老左年前在"军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验"已经简单的体验到目前还没有正式版本的V1.4版本,理论上会在今年儿童节正式上线.从体验和实际的版本变动文档 ...
- lnmp vps服务器删除mysql日志文件三种方法
我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐. 但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒, ...
随机推荐
- mysql too many connections解决方法
MySQL提示“too many connections”的解决办法 今天生产服务器上的MySQL出现了一个不算太陌生的错误“Too many connections”.平常碰到这个问题,我基本上 ...
- Windows 下配置Git
在Windows上安装git很长时间了,一直都没有配置,就是简单的使用.当然配置后就可以在任意目录下使用git命令.其实就是配置下git的环境变量. 首先,当然下载windows版本:点我下载 安装直 ...
- Python 常用 PEP8 编码规范
Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- 使用IScroll5实现滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 什么是web?什么是web服务器?什么是应用服务器?
1.什么是Web? 简单来说,Web就是在Http协议基础之上,利用浏览器进行访问的网站.目前来看最常用的意义是指在 Intenet 上和 HTML 相关的部分.换句话说,目前在 Intenet 上通 ...
- win10下安装VS2005运行程序出现0x000007b错误的解决方法
项目工程一运行就报错...真心坑... 方法如下: 1.安装DirectX 9.0c 形成原因是因为DirectX 9.0被损坏, 只需要安装即可. 如果有电脑管家的.在电脑管家里面搜索“Direct ...
- APUE学习笔记——10信号——信号接口函数 signal 和 sigaction
signal函数 signal函数是早起Unix系统的信号接口,早期系统中提供不可靠的信号机制.在后来的分支中,部分系统使用原来的不可靠机制定义signal函数,如 Solaris 10 .而 ...
- [转载]面试心得与总结---BAT、网易、蘑菇街等
转载自:http://mp.weixin.qq.com/s?__biz=MzIzMDIxNTQ3NA==&mid=2649111851&idx=1&sn=f43c42f7262 ...
- 策略模式-Java实现
策略模式—Java实现 1. 现实需求 本人现在负责开发和维护考核督办系统,其中一个模块叫编写工作计划.是工作计划就要有时间,我们的各种提醒都做了,但是还是有人把x月的工作计划内容写到y月,真心无语了 ...
- uglify-es 解决webpack 不能压缩es6 的问题
https://www.npmjs.com/package/uglify-es