Nginx优化有很多种,在这里推荐两种方式。
nginx事件处理模型优化
nginx的连接处理机制在不同的操作系统上采用不用的IO模型,在linux下,nginx使用epoll的IO多路复用模型,在freebsd使用kqueue的IO多路复用模型,在solaris使用/dev/pool方式的IO多路复用模型,在windows使用的icop等等。
根据系统类型不同选择不同的事务处理模型,选择有“use [ kqueue | rtsig |epool |dev/pool |select |pllo ];”我们使用的是Centos6.5的linux,因此将nginx的事件处理模型调整为epool模型。
1、具体参数如下在优化4下边挨着:
events {
use epoll;
worker_connections 1024;
}
|
nginx日志相关优化与安全
1、配置日志切割脚本并写入计划任务
cd /server/scripts/
cat cut_nginx_log.sh
#!/bin/sh
cd /app/logs
mv www_access.log www_access_$(date +%F -d -1day).log
mv bbs_access.log bbs_access_$(date +%F -d -1day).log
mv blog_access.log blog_access_$(date +%F -d -1day).log
/application/nginx/sbin/nginx -s reload
cat >>/var/spool/cron/root>>eof
00 00 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1
eof
|
不记录不需要的访问日志
对于健康检查或某些(图片,js,css)日志,一般不记录日志,因为在统计PV时是按照页面计算,而且日志写入频繁会消耗磁盘IO,降低服务器性能。
location ~ .*.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$ {
access_log off;
}
|
访问日志的权限设置
假设日志目录为/app/logs,则授权
chown -R root.root /app/logs
chmod -R 700 /app/logs
|
不需要再日志目录给nginx用户读或者写许可。因为nginx的master进程是root,不要担心权限不够写不进去日志
(责任编辑:yang) |