Articles of nginx

如何debugging为什么我的服务器有3个延迟每个请求nginx /独angular兽?

我试图debugging为什么我的服务器有3秒延迟每个请求。 这些是我的nginx和独angular兽configuration文件​​: https : //gist.github.com/regedarek/de7f2e5cd1918b6224ac 我的服务器信息: Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-37-generic x86_64) System load: 0.02 Processes: 71 Usage of /: 38.9% of 6.89GB Users logged in: 0 Memory usage: 28% IP address for eth0: 149.156.119.151 Swap usage: 0% server:~$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : […]

Nginx如何反向代理caching工作?

我不明白如何与caching反向代理工程。 我们假设caching是空的。 User1加载index.php(dynamic内容)。 没有caching,所以Nginx查询php文件。 服务器说“欢迎用户1”。 Nginx使用md5校验和存储网页。 User2加载index.php。 有一个页面存储在caching中,所以我们把这个页面返回给用户。 它说“欢迎用户1”,但如果我们已经调用了PHP脚本,它将返回“欢迎用户2”。 Nginx怎么知道是否再次调用php脚本? 我的caching的反向代理很好,返回dynamic内容,但我想这不只是“魔术”。 这是PHP脚本返回一个头告诉Nginx不caching?

php5-fpm没有响应

我已经迁移到nginx设置〜2个月前的php5-fpm。 一切都很好,直到几天前,当我注意到我的PHP网站没有响应(浏览器只是等待数据,最终超时)。 重新启动php5-fpm帮助。 这是我的/var/log/php5-fpm.log的结尾: [09-Feb-2013 07:22:46] NOTICE: [pool www] child 26802 started [09-Feb-2013 20:09:07] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [10-Feb-2013 07:22:40] WARNING: [pool www] child 5986 exited on signal 11 (SIGSEGV – core dumped) after 40414.794799 seconds from start [10-Feb-2013 07:22:40] NOTICE: [pool www] child 13596 started [11-Feb-2013 07:22:14] […]

使用nginx作为反向代理服务器主要是PHP驱动的dynamic非静态网​​站的任何优势?

我的问题是有什么优势使用nginx作为反向代理时,大部分内容是通过PHPdynamic生成的? 就我而言,nginx在将静态内容caching到caching中并一次提供多个请求方面非常有用。 这是真的 ? 或者运行nginx作为反向代理在PHP驱动的dynamic内容网站中是否还有其他优势?

Nginx不能正确代理websockets

使用nginx的开发版本(1.3.12)。 在我启用网站的相关文件中: upstream twisted { server 127.0.0.1:8088; } server { listen 80; ## listen for ipv4 server_name *.clurn.co.uk clurn.co.uk; access_log /var/log/nginx/clurn.co.uk.access.log; location / { root /var/www/clurn.co.uk; index index.html index.htm; } location /websocket { proxy_pass http://twisted; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } location /websocket/server { deny all; } […snip…] } 与nginx网站上的例子不同的是升级的资本u,它似乎是高速公路和/或txWS实例正确识别websocket所必需的(我不记得它是哪个atm)。 现在,如果我通过服务器上的127.0.0.1:8088访问websockets,那么它似乎工作,但如果我通过127.0.0.1/websockets访问它不,所以必须有错误的编组数据包通过nginx。 如果我运行netcat […]

即使在777之后,Nginx权限也会拒绝上游错误

我一直在得到这个错误 / var / cache / nginx / microcache / 8 / fd / c36e398490d9b70e3c98ba094d065fd8“上传失败(13:权限被拒绝) 我尝试了Nginx和SO论坛中的其他信息,如更改文件夹/文件的所有者,删除Nginx的microcache文件夹以创build新的,但似乎没有任何工作。 我的Nginxconfiguration以www为用户(所有者,在FreeBSD中),所有这些文件夹/var/tmp/nginx/fastcgi_temp/和/var/cache/nginx/microcache/具有www作为用户(所有者)和wheel作为组。 为了testing它,我甚至给了-R 777到上面提到的那些文件夹并重新启动nginx,但是error.log仍然表示同样的错误。 甚至不能想到什么可能是错误的,任何指导将不胜感激。

在Linode.com上设置nodebalancer后,IP欺骗攻击错误

我最近在Rails 3.2.12应用程序前面设置了一个NodeBalancer。 该应用程序由nginx和独angular兽服务。 所有似乎都很好,但我得到了很多错误,如我只有一台服务器时没有得到的错误。 IP spoofing attack?!HTTP_CLIENT_IP="10.16.81.184"HTTP_X_FORWARDED_FOR="136.160.88.153, 192.168.255.5" actionpack (3.2.12) lib/action_dispatch/middleware/remote_ip.rb:55:in `calculate_ip' 这是我的应用程序的nginxconfiguration。 upstream unicorn { server unix:/tmp/unicorn.ahotu-calendars.sock fail_timeout=0; } server { listen 80 default deferred; root /home/deployer/apps/appdirectory/current/public; if (-f $document_root/system/maintenance.html) { return 503; } error_page 503 @maintenance; location @maintenance { rewrite ^(.*)$ /system/maintenance.html last; break; } location ^~ /assets/ { gzip_static on; expires max; […]

Nginx – 通过GET参数模式redirect请求

我的一台服务器在几天前遭到了DDoS的攻击,持续了4天。 以下是请求的日志片段: 36.224.180.253 – – [14/May/2013:03:11:46 +0800] "GET //?f5b2fd2f860dc=9597624054932145 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14" 36.224.180.253 – – [14/May/2013:03:11:50 +0800] "GET //?d69e553a2e8cc=8383534686131949 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14" 36.224.180.253 – – [14/May/2013:03:11:53 +0800] "GET //?cd28bceecb2f7=8014028628342069 HTTP/1.1" 301 178 "-" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 […]

CGI的权限与NGINX和FastCGI

我在运行GitLab的服务器上运行GitWeb(本质上是一个CGI脚本)。 我的目标是在不注册人员的情况下提供对GitLab存储库的只读访问权限。 我已经把GitWeb指向了有权限drwxrws—拥有者:group git:git存储库文件夹。 FastCGI包装与用户运行:组www-data:www:data ,所以我添加了www-data组www-data 。 我也通过改变这个用户来validationwww-data到版本库的访问。 但是,当我运行GitWeb时,CGI脚本无法访问存储库,无法获取我的存储库列表。 一切工作正常,如果我将rx权限添加到其他部分(最后三重),但我不想混乱的文件夹的权限,因为显而易见的原因。 顺便说一句,我运行Debian稳定,并没有安装SE-Linux或类似的东西。 任何帮助将不胜感激。

UWSGI不能用nginx和flask导入模块“mysite”

我是新使用uwsgi和nginx,我一直无法弄清楚为什么我从uwsgi得到这个错误: ImportError: No module named mysite unable to load app 0 (mountpoint='my_ipaddr|') (callable not found or import error) 这是我的nginxconfiguration文件: server { listen 80; server_name my_ipaddr; location /static { alias /var/www/mysite/static; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/mysite.sock; uwsgi_param UWSGI_PYHOME /var/www/mysite/venv; uwsgi_param UWSGI_CHDIR /var/www/mysite; uwsgi_param UWSGI_MODULE app; uwsgi_param UWSGI_CALLABLE app; } 这是我的uwsgi的mysite.ini: [uwsgi] vhost=true socket=/tmp/mysite.sock […]