nginx设置问题

前端之家收集整理的这篇文章主要介绍了nginx设置问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道这不是一个直接的编程问题,但stackoverflow上的人似乎能够回答任何问题.

我有一台运行Centos 5.2 64位的服务器.相当强大的双核2服务器,4GB内存.它主要提供静态文件,flash和图片.当我使用lighttpd时,它可以轻松地提供超过80 MB /秒的速度,但是当我使用Nginx进行测试时,它会降低到低于20 MB /秒.

我的设置很简单,使用默认的安装文件,我添加了以下内容

  1. user lighttpd;
  2. worker_processes 8;
  3. worker_rlimit_nofile 206011;
  4. #worker_rlimit_nofile 110240;
  5. error_log /var/log/Nginx/error.log;
  6. #error_log /var/log/Nginx/error.log notice;
  7. #error_log /var/log/Nginx/error.log info;
  8. pid /var/run/Nginx.pid;
  9. events {
  10. worker_connections 4096;
  11. }
  12. http {
  13. ....
  14. keepalive_timeout 2;
  15. ....
  16. }

而且我认为Nginx至少应该是那么强大,所以我一定不会做某事.

最佳答案
当你重新加载你的Nginx(kiil -HUP)时,你会在错误日志中得到类似的东西

  1. 2008/10/01 03:57:26 [notice] 4563#0: signal 1 (SIGHUP) received,reconfiguring
  2. 2008/10/01 03:57:26 [notice] 4563#0: reconfiguring
  3. 2008/10/01 03:57:26 [notice] 4563#0: using the "epoll" event method
  4. 2008/10/01 03:57:26 [notice] 4563#0: start worker processes
  5. 2008/10/01 03:57:26 [notice] 4563#0: start worker process 3870

你的Nginx编译使用什么事件方法

你在做任何access_log’ing吗?考虑添加buffer = 32k,这将减少日志文件的写锁争用.

考虑减少工作人员的数量,这听起来很反直觉,但工作人员需要彼此同步以进行诸如accept()之类的sys调用.尝试减少工人数量,理想情况下我会建议1.

您可以尝试在侦听套接字上显式设置读取和写入套接字缓冲区,请参阅http://wiki.codemongers.com/NginxHttpCoreModule#listen

猜你在找的Nginx相关文章