Articles of nginx

nginx状态码200和304

我正在使用nginx +乘客。 我试图理解nginx响应200和304.这是什么意思? 有时,它在304和其他人回应,其他人只有200.阅读YUI博客,似乎浏览器需要头“最后修改”与服务器validation。 我想知道为什么浏览器需要validation最后修改date。 这是我的nginxconfiguration: location / { root /var/www/placexpert/public; # <— be sure to point to 'public'! passenger_enabled on; rack_env development; passenger_use_global_queue on; if ($request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$) { expires max; break; } } 我如何将标题“Last-Modified”添加到静态文件? 我应该设置哪个值?

与codeigniter和phpmyadmin的nginx

经过大量的研究/努力,我能够configurationnignx for codeigniter。 我需要用phpmyadmin清除最后一个障碍,以达到nginxconfiguration游戏的第4级。 这是我的网站的nginx.conf: location / { try_files $uri $uri/ @codeigniter; } location @codeigniter { rewrite ^(.*) /index.php?$1 last; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/example.com/html/index.php; } 有点解释:我使用nginx作为replace的Apache。 我在/var/www/example.com/html/文件夹下有一个符号链接到phpmyadmin。 Codeigniter要求SCRIPT_FILENAME指向codeigniter的index.php。 由于所有的PHP请求都通过codeiginiter进行路由,所以try_files对于phymyadmin失败。 我如何克服这一点?

Nginx作为ssl的apache的反向代理

现在我有ssl的apache设置(用户使用私人证书)。 在这种情况下是否可以把apache放在nginx的后面?

nginx和haproxy,它们是否共享类似的负载均衡angular色?

我对nginx有点困惑,它可以像haproxy一样充当代理吗? 即有人连接到我的域,haproxy坐在那里,然后它将来自端口80的stream量路由到运行在不同端口上的Web服务器,以循环方式进行。 nginx可以执行相同的function吗?

如何用spawn-fcgi自动重启php-cgi

我正在用php作为fcgi运行nginx。 它工作得很好,但是,php-cgi在服务500个请求后继续退出()。 我试着增加这个值(PHP_FCGI_MAX_REQUESTS),而且工作,但似乎是一个解决方法。 然后我将它设置为0,并没有退出()。 但我认为有一个原因,为什么php-cgi应该重新启动。 目前,我正在用spawn-fcgi运行php-cgi:当php进程退出时,spawn-fcgi也退出。 现在,有没有办法自动重新启动PHP(没有肮脏的黑客,如while [ 1 ]; do spawn-fcgi; done等)?

点域到轨道路线

这可能是不可能的,但我有一个nginx服务器运行一个域x.com,我有y.com指向同一台服务器,但我希望该域最终运行轨道路线。 所以x.com运行/和y.com运行x.com/2/ – 不是redirect,而不是重写。 我如何设置我的nginx.conf?

无法弄清楚nginx的configuration问题

我想用nginx来服务wordpress 3多站点,这是我的nginx conf server { listen 80; server_name lc.wp.com; index index.html; access_log /usr/local/var/log/nginx/lc.wp.access.log; error_log /usr/local/var/log/nginx/lc.wp.error.log debug; location / { root /usr/local/www/playground/php/wordpress/; autoindex on; index index.html index.htm index.php; rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+/?(/.*\.php)$ $1 last; rewrite ^(.+)$ /index.php?q=$1 last; } location ~* ^.+\.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ […]

nginx:重写指令的try_files等价物将不起作用

在/GET-cache/contact.html上有一个文件,并用这个指令请求URI /contact ,它按预期工作: if (-f $document_root/$request_method-cache$uri.html) { rewrite (.*) /GET-cache/$1.html break; } 这一个不: try_files $request_method-cache$uri.html @backend; 在try_files指令中使用$document_root也不起作用(当我说它不起作用的时候,请求被传递到后端而不是nginx服务静态文件)。 我错过了什么吗?

nginx不会在启动时启动

我刚安装了Ubuntu Server 11.04(Natty Narwhal)64位 。 然后通过以下方式安装nginx : sudo apt-get install nginx 我正确地configuration它并运行它: sudo service nginx start 在这一点上,一切都很好。 服务器正确响应请求。 运行一个sudo service nginx status ,得到: nginx正在运行。 重新启动后,服务器没有运行。 运行一个sudo service nginx status ,得到: 无法访问nginx的PID文件 。 pid文件: -rw-r–r– 1 root root 0 2011-07-01 10:34 /var/run/nginx.pid 注意:尝试使用sudo update-rc.d nginx defaults启动时运行,但是到脚本的链接已经(正确)已经到位,并且没有改变。 我该怎么做才能让它在启动时运行? 解决了。 出于某种奇怪的原因,日志目录在nginx尝试启动的时候(启动时)没有挂载。 将日志文件更改为另一个位置并工作。

运行Python Web应用程序的Windows Server缓慢地耗尽内存

我正在运行Windows Server 2008 RC2,并且只能通过Tornado运行Python Flask Web应用程序,并使用nginx提供的静态文件。 而已。 尽pipe我最近安装了服务器密度,并且很担心,看到这个缓慢,我的记忆正在消失。 看起来像是某种泄漏。 这是一个图表: 相当慢,但我宁愿不必每10天重新启动我的Web服务器。 什么可能导致这种下降? 我怎么知道?