Tag: nginx

让Nginx从PHP-FPM发送4xx / 5xx错误

我有Nginx安装程序来反向代理以.php结尾的所有文件。 在一些脚本中,我检查参数,并发送“406不可接受”作为一个通用的错误,这需要从Ajax的jQuery /拾起。 我可以改变这个错误,但我希望能够把它发送到客户端。 如果我发送406,Nginx会将其更改为502 Bad Gateway并注入它自己的错误消息。 它虽然适用于404和403,但这些错误在这种情况下并不真正“适用” 这是一个API,所以被禁止是不好的RESTful实践。 我尝试使用fastcgi_intercept_errors,但似乎没有区别。 我正在使用Nginx 0.7 。 PHP的一部分: header($_SERVER['SERVER_PROTOCOL'] . '406 Not Acceptable'); echo '{"error":"Missing Params"}'; exit; Nginxconfiguration location ~ .php$ { fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

软链接到网站

我有Nginx安装在Ubuntu上,我有下一个configuration文件: server { root /www/test; index index.html index.htm; server_name .dev.mysite.info; 我在/ www / test目录中有HTML文件,并且都正常工作。 现在我想将我的文件夹更改为软链接: lrwxrwxrwx 1 root root 33 Jun 17 10:39 test -> /root/Dropbox/digital_ocean/test/ 但是在浏览器中获取错误消息: "500 Internal Server Error" 为什么以及如何解决? 更新: root@ocean:/var/log/nginx# cat error.log 2013/06/17 11:40:27 [crit] 26197#0: *1 stat() "/www/test/" failed (13: Permission denied), client: 195.239.188.28, server: dev.meditat0r.info, request: "GET / HTTP/1.1", […]

检查nginx活动连接没有HttpStubStatusModule

我们要检查没有安装模块HttpStubStatusModule的活动连接的数量。 什么是等效的Linux命令? 作为一个基线,我们先在安装了HttpStubStatusModule的机器上进行testing,例如 Active connections: 6146 <– from HttpStubStatusModule # netstat -an | grep :80 | wc -l 1266 # netstat -an | grep :443 | wc -l 25082 在我看来,上面的netstat都没有给我正确的数字。 任何想法?

如何设置nginx和一个子域名

我有gitlab安装在我的服务器上,它适用于所有域名,例如:git.lars-dev.de,lars-dev.de和* .lars-dev.de我如何才能运行gitlab只git.lars-dev.de另一个子域名在files.lars-dev.de? 我的lars-dev conf: server { listen *:80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www/webdata/lars-dev.de/htdocs; index index.html index.htm; server_name lars-dev.de; location / { try_files $uri $uri/ /index.html; } #error_page 500 502 503 504 /50x.html; #location = /50x.html { # root /usr/share/nginx/www; #} […]

nginx:try_files找不到静态文件,回退到PHP

相关configuration: location /myapp { root /home/me/myapp/www; try_files $uri $uri/ /myapp/index.php?url=$uri&$args; location ~ \.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; } } 我绝对在/home/me/myapp/www有一个文件foo.html ,但是当我浏览到/myapp/foo.html它由PHP处理,这是try_files列表中的最后一个回退。 为什么发生这种情况?

如何在nginx后面运行datastax opscenter

我想在Nginx后面运行datastax cassandra opscenter。 但它不断添加opscenter端口(默认8888)到所有的URL。 有没有configuration设置来禁用或什么? 这里是我的超级简单的nginxconfiguration: server { server_name opscenter.hostname.com; location / { proxy_pass http://127.0.0.1:8888; } } 有什么我可能做错了吗?

Nginx根据参数select上游

我需要两套不同的上游。 但是我所有的请求都来自同一个URL(相同的path)。 不同的是,一些请求会有一个特殊的说法,有些则不会。 根据这一点,我需要select使用哪个上游。 这是我的configuration文件的一个例子不完整的部分: server_name localhost; root /var/www/something/; upstream pool1 { server localhost:5001; server localhost:5002; server localhost:5003; } upstream pool2 { server localhost:6001; server localhost:6002; server localhost:6003; } location / { # this is the part where I need help try_files $uri @pool1; } location @pool1 { include fastcgi_params; fastcgi_pass pool1; } location @pool2 […]

redirect丢失的图像在一个特定的目录

我在/img/有一个图像目录。 当对该目录中不存在的图像提出请求时,我想提供/img/default.jpg 。 我将如何添加到我的nginxconfiguration?

nginx 301的limit_req限制请求而不是错误页面

我在nginx后面的apache服务器上有一个批量search表单。 我希望保护该位置,以便在10分钟内获得301的“第二个请求”,而不是像下面这样使用我们的API: http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { location = /search/bulk { limit_req zone=one burst=2; … SOME CONFIG HERE… } } } 当他们打我的limit_req,而不是显示一个ngnix错误页面时,我将如何301最终客户端? 另外,其次,我不想限制整个http子句的stream量。 我可以在没有费率的情况下设置一个limit_req_zone,但在我的位置节中有吗? 谢谢, M.

启用nginx浏览器捕获特定的url

我怎样才能启用特定url的nginx catch? 我有一个Django的Web应用程序,我把我的静态文件,如CSS,JavaScript和…在一个名为静态文件夹,我可以访问他们通过http://example.com/static/ ,我想configurationNginx N顺序只能从这个url捕获这些文件。 我读过http://www.nginxtips.com/how-to-enable-browser-cache-static-files-on-nginx/,但是这个选项没有在那里解释。 我试着下面的configuration,并重新启动我的ngnix服务器,但我有错误。 这是我的sites-available/defaultconfiguration文件。 有什么问题? server { listen 80; listen 443 ssl; server_name www.example.com example.com; ssl_certificate /var/www/example/ssl/ssl.crt; ssl_certificate_key /var/www/example/ssl/ssl.key; location /static (jpg|jpeg|png|gif|ico|css|js)$ { alias /var/www/example/static; expires 3d; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } location /media { alias /var/www/example/media; } location / { proxy_pass http://127.0.0.1:8000; } } 这是nginx日志文件内容… 2014/03/07 […]

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.