centos nginx 配置注意事项


按照网上的 方法,我安装配置了 nginx,我用 nginx 来做图片服务器,

具体步骤 http://my.oschina.net/foxidea/blog/90776


图片服务器 分为 源服务器缓存服务器,上传图片到源服务器上,用户访问图片,访问的是 缓存服务器

缓存服务器是 centos + nginx 

缓存服务器上用了 nginx 的proxy 模块 去访问源服务器,并把图片缓存起来

具体步骤http://my.oschina.net/foxidea/blog/91410


我配置成功之后,第一天白天没问题,到了晚上 公司的人反应出现问题,源服务器图片上传成功,但是 缓存服务器无法查看图片


我把 查看nginx 的错误日志 /usr/local/nginx/logs/error.log

如下:

2012/11/23 12:40:34 [crit] 1366#0: accept4() failed (24: Too many open files)
2012/11/23 12:40:34 [alert] 1366#0: *4172 socket() failed (24: Too many open files) while connecting to upstream, client:

google  baidu 了一番

网上说



centos5.3 中  ulimit  -n 为1024, 当Nginx连接数超过1024时,error.log中就出现以下错误: 

        [alert] 12766#0: accept() failed (24: Too many open files)

解决方法是:



修改/etc/security/limits.conf


/etc/security/limits.conf 中加入以下内容: 

* soft  nofile 655360
* hard nofile 655360

星号代表全局, soft为软件,hard为硬件,nofile为<type>这里指可打开文件数。

 

 

另外,要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so

 

修改完重新登录就可以见到效果,可以通过 ulimit -n 


然后再修改 /usr/local/nginx/conf/nginx.conf  


然后重启 nginx  似乎没什么问题了

没过两个小时同事反应有问题,图片又无法打开了

查看错误日志(/usr/local/nginx/logs/error.log) 全是如下内容:


2012/11/24 10:58:19 [crit] 4570#0: *86 pwrite() "/www/i1.xx.com/0000000011" failed (28: No space left on device) while reading upstream,


又百度 google 了一番,说让使用 df 命令 查看下磁盘空间

果真  发现 /dev/sda1 磁盘 use 100%  ,难怪了我把 网站 放入 /www/ 下 磁盘空间被占用满了

然后发现 /home/ use 仅有 1% 占用,Available  值最大

后来把网站 建立在 /home/www/ 下 问题解决了



之所以遇到这么多问题,主要是对 linux 不够熟悉,连 分区都不太懂



转载于:https://my.oschina.net/foxidea/blog/91408

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值