Articles of nginx

需要增加nginx吞吐量到上游的unix套接字 – linux内核调优?

我正在运行一个nginx服务器,充当上游unix套接字的代理,如下所示: upstream app_server { server unix:/tmp/app.sock fail_timeout=0; } server { listen ###.###.###.###; server_name whatever.server; root /web/root; try_files $uri @app; location @app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } } 一些应用程序服务器进程反过来将请求从/tmp/app.sock提取出来。 这里使用的特定应用程序服务器是Unicorn,但我不认为这与这个问题有关。 问题是,似乎只是经过了一定的负载,nginx无法以足够快的速度通过套接字获取请求。 不pipe我设置了多less个应用程序服务器进程, 我在nginx错误日志中收到了这些消息的洪水: connect() to unix:/tmp/app.sock failed (11: Resource temporarily unavailable) while connecting to upstream 许多请求导致状态码502,而那些需要很长时间才能完成的请求。 […]

nginx在ssl_certificatepath上使用$ server_name

如何在文件path中使用variables名? ssl_certificate /home/ec2-user/.certificados/$server_name.crt; ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;

推荐的Nginx + WSGIconfiguration

请使用不同的Nginx WSGI接口解释优点/缺点? 请详细解释每种configuration的区别? 哪个configuration应该最好? 如果相关,你现在在跑什么,为什么? 我见过的一些技巧,但请告诉我,如果我错过了任何: mod_wsgi的 uWSGI通过Nginx uWSGI FastCGI + flup 代理另一个WSGI服务器( gevent , gunicorn , 龙卷风 , FAPWS3 )

您何时必须在configuration中使用引号?

我见过有人用过多的引号 add_header 'Access-Control-Allow-Origin' '*'; 我见过没有人引用 : add_header Access-Control-Allow-Origin *; 据我所知,两者都能正常工作,所以你什么时候必须使用引号?

nginx设置variables的位置

我试图优化我的nginxconfiguration,所以可以设置一个variables,所有的位置path将自动更新。 我有四条问题: server_name php.domain.com; root /srv/web/vhosts/php/web; error_log /srv/web/vhosts/php/logs/error.log; access_log /srv/web/vhosts/php/logs/access.log; 我想实现的是设置一个variables(在这个例子中是“php”),并将其包含到configuration中。 set $variable "php"; server_name $variable.domain.com; root /srv/web/vhosts/$variable/web; error_log /srv/web/vhosts/$variable/logs/error.log; access_log /srv/web/vhosts/$variable/logs/access.log; 然而,它接缝,Nginx忽略此configuration中的variables。 我做错了什么或不可能在位置path中使用variables?

Nginxvariables$ host,$ http_host和$ server_name有什么区别?

三个Nginxvariables$host , $http_host和$server_name什么$http_host ? 我有一个重写规则,我不知道我应该使用哪一个: location = /vb/showthread.php { # /vb/showthread.php?50271-What-s-happening&p=846039 if ($arg_p) { return 301 $scheme://$host/forum/index.php?posts/$arg_p/; } 我正在寻找一个答案,不只是说在你的重写规则中使用___variables,而且还解释了它们之间的理论差异。

HTTP反向代理通常在代理连接的客户端启用HTTP Keep-Alive,而不是在服务器端?

HAProxy能够在客户端启用HTTP保持活动(客户端HAProxy),但在服务器端(HAProxy < – >服务器)禁用它。 我们的一些客户通过卫星连接到我们的networking服务,所以延迟时间大约是600毫秒,我认为通过保持活跃状态​​,它会加速一些事情。 我对吗? 这是由Nginx支持吗? 这是其他软件和硬件负载平衡器中广泛实施的function吗? 除了HAProxy,还有什么?

增加PHP-FPM的最大上传/文章大小

我在Ubuntu 14.04上运行Nginx下的php5-fpm。 我想增加最大上传大小。 我已经编辑了我的/etc/php5/fpm/php.ini来定义如下的行: upload_max_filesize = 20M post_max_size = 25M 我重新启动了php5-fpm和nginx,但是phpinfo()仍然分别显示了8M和2M的限制。 我在这里错过了什么吗?

了解nginx的proxy_cache_path指令

假设我有这个nginxconfiguration文件 proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=myCache:8m max_size=100m inactive=1h; keys_zone=myCache:8m是什么意思? 文档中没有太多的要求: 另外,所有活动的密钥和数据信息都存储在共享内存区域中,其名称和大小由keys_zone参数configuration。 如果proxy_cache_valid ( 12h )高于proxy_cache_valid的指定inactive值( 1h ), proxy_cache_path怎么proxy_cache_path ? 它将遵循哪个规则? 例如 proxy_cache_valid 200 302 12h; proxy_cache_valid 404 302 1h; 谢谢!

nginx工作进程的数量

我设置nginx服务于Drupal安装,而且我似乎在nginx工作进程设置上find了冲突的信息。 一个网站说你需要两个,一个说你需要五个,一个说每个处理器一个… 我应该如何selectnginx工作进程的数量? 如果它有所作为,那么它就是VMWare集群上的访客虚拟机,而且我给了它一个虚拟处理器。