最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
lnmp环境安装配置后优化方法小结
时间:2013-12-16 编辑:简简单单 来源:一聚教程网
Lnmp配置优化
一. 基于xen架构的可以增加swap分区大小我的vps是openVZ的,swap分区是不能随意更改的。PS.主机商已经提供了128M的swap了。满足了!
代码如下 | 复制代码 |
cd /var/ dd if=/dev/zero of=swapfile bs=1024 count=262144 /sbin/mkswap swapfile /sbin/swapon swapfile |
然后让自己做的swap分区在系统启动时自动加载:
代码如下 | 复制代码 |
vi /etc/fstab |
在适当位置添加以下内容:
代码如下 | 复制代码 |
/var/swapfile swap swap defaults 0 0 |
二.Nginx主配置文件(nginx.conf)的优化 Nginx每个进程耗费10M~12M内存,只开启一个Nginx进程,节省内存。
代码如下 | 复制代码 |
worker_processes 1; |
对网页文件、CSS、JS、XML等启动gzip压缩,减少数据传输量,提高访问速度。
代码如下 | 复制代码 |
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; |
还有:
代码如下 | 复制代码 |
location ~ .*.(php|php5)?$ location ~ /read.php #博客的图片较多,更改较少,将它们在浏览器本地缓存15天,可以提高下次打开我博客的页面加载速度。 #博客会加载很多JavaScript、CSS,将它们在浏览器本地缓存1天,访问者在看完一篇文章或一页后,再看另一篇文件或另一页的内容,无需从服务器再次下载相同的JavaScript、CSS,提高了页面显示速度。 |
其实上面说的lnmp自动安装包已经做好了这些优化!
lnmp安装后进程优化
lnmp安装后进程优化一下,以更好的发挥VPS的性能
修改php-cgi
vi /usr/local/nginx/conf/nginx.conf
其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。
vi /usr/local/php/etc/php-fpm.conf
找到
/root/lnmp restart
Apache服务器进程工作方式以及优化方法
prefork:
如果httpd -l列出prefork.c,则需要对下面的段进行配置:
StartServers 5 #启动apache时启动的httpd进程个数。
MinSpareServers 5 #服务器保持的最小空闲进程数。
MaxSpareServers 10 #服务器保持的最大空闲进程数。
MaxClients 150 #最大并发连接数。
MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。
在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到 MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。
worker:
如果httpd -l列出worker.c,则需要对下面的段进行配置:
StartServers 2 #启动apache时启动的httpd进程个数。
MaxClients 150 #最大并发连接数。
MinSpareThreads 25 #服务器保持的最小空闲线程数。
MaxSpareThreads 75 #服务器保持的最大空闲线程数。
ThreadsPerChild 25 #每个子进程的产生的线程数。
MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。
该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的 (ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。
perchild:
如果httpd -l列出perchild.c,则需要对下面的段进行配置:
NumServers 5 #服务器启动时启动的子进程数
StartThreads 5 #每个子进程启动时启动的线程数
MinSpareThreads 5 #内存中的最小空闲线程数
MaxSpareThreads 10 #最大空闲线程数
MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。0不受限制
MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。0表示不受限制。
该模式下,子进程的数量是固定的,线程数不受限制。当客户端连接到服务器时,又空闲的线程提供服务。如果空闲线程数不够,子进程自动产生线程来为新的连接服务。该模式用于多站点服务器。
相关文章
- Fedora 22 安装以后的优化和配置 06-12
- win11内核隔离和内存完整性介绍 10-31
- win10全屏缩放设置教程 10-31
- win10系统备份出错解决教程 10-31
- win10打开软件每次都要询问解决教程 10-31
- win10更新驱动后设备出现异常解决教程 10-31