注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

good luck guys

welcome

 
 
 

日志

 
 

Nginx | 微米天空  

2011-04-21 11:17:56|  分类: nginx |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Posts Tagged ‘ Nginx ’

Nginx配置

Ⅰ、Nginx配置文件的修改

修改nginx的默认配置文件:

按下面的内容修改Nginx的配置文件。兰色表示需要手动修改的内容,红色表示增加的内容:

#user  nobody;

# 指定子进程数,酌情修改
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

# 最多可打开文件数
worker_rlimit_nofile 8196;

events {
# 最大并发数
worker_connections  1024;
}

http {
include       mime.types;
default_type  application/octet-stream;

# 关掉错误日志
error_log       /dev/null  crit;
# 如果需要错误日志,就用下面这行替换上面这行
#error_log     /var/log/nginx/error.log  notice;

# 定义日志格式,对日志使用缓存,避免频繁的磁盘I/O操作
access_log   /var/log/nginx/access.log combined buffer=1m;

sendfile        on;
tcp_nopush      on;
tcp_nodelay     on;

keepalive_timeout  10;

keepalive_timeout  10;

# 对静态文件和可压缩文件启用压缩,以节约网络带宽,提高访问速度
gzip              on;
gzip_min_length   1k;
gzip_buffers      4 8k;
gzip_http_version 1.1;
gzip_comp_level   3;
gzip_types        text/html text/css text/xml text/plain application/x-javascript application/xml application/pdf application/x-perl application/x-tcl application/msword application/rtf application/vnd.ms-excel application/vnd.ms-powerpoint application/vnd.wap.xhtml+xml image/x-ms-bmp;
gzip_disable      ”MSIE [1-6] .”;
gzip_vary         on;

# 定义输出缓存大小
output_buffers   4 32k;

# 最大允许可上传文件大小
client_max_body_size 20m;

# 定义一个叫“myzone”的记录区,总容量为 10M
# 和下面的limit_conn一起限制单个IP的并发连接数为10
limit_zone myzone $binary_remote_addr  10m;

server {
listen       80;
server_name  localhost;

location / {
root   /var/nginx/html;
index  index.php index.html index.htm;
limit_conn  myzone 10;
}

error_page   500 502 503 504  /50x.html;

location = /50x.html {
root   /var/nginx/html;
}

location ~ .php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/nginx/html$fastcgi_script_name;
include        fastcgi_params;
}

# 在浏览器本地暂存图片和静态文件,不记录日志,以节约机器资源
location ~* .(gif|png|jpg|jpeg|bmp|css|js|swf)$
{
root           /var/nginx/html;
access_log off;
expires max;
}

# 在浏览器中输入http://xxx.xxx.xxx/status可以看到Nginx的运行信息
# 需要密码验证,不记录日志,限制IP访问
location ~ /status
{
auth_basic  ”O.N.M.P.”;
auth_basic_user_file password;
stub_status on;
access_log   off;
allow 192.168.0.0/24;
deny all;
}
}

}

其他的部分请酌情修改。

运行下面的命令生成查看Nginx运行状态的密码文件:

htpasswd -c /etc/nginx/password webadmin

按提示输入两遍密码即可。

在查看status的时候,输入用户名webadmin(见上面这行)和密码就能够看到Nginx的运行数据了。

Nginx能够流行和它的高负载能力是分不开的,在追求性能表现的场合,推荐使用Nginx+PHP-fastcgi的组合以获得强健的性能表现。而对于那些重视安全性的场合来说,可能OpenBSD内核集成的Apache更合适。OpenBSD下搭建Apache、MySQL、PHP环境的详细内容请参见偶的另篇博文,地址在下面:(博客速度可能较慢,四楼有转帖)
http://blog.chinaunix.net/u2/81136/showart_1860332.html

当然,你也可以利用Nginx内置的负载均衡功能,在前端分配访问流量,后端由Apache来运行PHP环境。Nginx负载均衡的配置可以去Nginx的主页参看相关内容,地址:http://wiki.nginx.org/Main。

下面为一个Nginx负载均衡的示例:

http {
upstream myproject {
ip_hash;
server 192.168.1.1:80;
server 192.168.1.2:80;
server 192.168.1.3:80;
server 192.168.1.4:80;
}

网络拓扑示意图如下:

Ⅱ、Nginx日志截断

OpenBSD默认每天00:00会执行/etc/daily.local脚本中的内容,我们只需要把Nginx日志截断的命令加入到这个文件中即可。

加入下面的内容:

#!/bin/sh
# 对Nginx日志进行截断和压缩,以节约log分区空间
# 在张宴的基础上修改,感谢!
mkdir -p /var/log/nginx/$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/
mv /var/log/nginx/access.log /var/log/nginx/$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/access.$(date -d “yesterday” +”%Y%m%d”).log
kill -USR1 `cat /var/run/nginx.pid`
sleep 1
gzip /var/log/nginx/$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/access.$(date -d “yesterday” +”%Y%m%d”).log

保存退出,为/etc/daily.local加上执行权限:

其他需要每天运行的命令也都可以加在这个脚本里面,各位自行处理。




引文来源  Nginx | 微米天空
  评论这张
 
阅读(998)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018