Articles of nginx

nginx或80端口无法访问

经过一些服务器硬化,并安装NGINX(没有修改configuration),我不能再从外面访问nginx了。 可悲的是,我根本不是这方面的专家。 硬化是通过各种手册/教程(configurationufw,ssh硬化等)完成的。 在本地机器上,我似乎没有任何问题设置NGINX并在本地运行 – 所以我想这与硬化有关。 在阅读了一些类似的问题之后,尝试了不同的解决scheme等,我还是一开始:等待1分钟后,调用服务器(oder域或over IP)会导致“页面不可用”。 我如何分析这个问题? 需要哪些信息来find瓶颈? (如果是ufw,nginx, – 无论什么?)目标是,终于看到'welcome to nginx'页面。 我需要一个特定的ARP条目,可以通过外部IP访问吗? 如果你能告诉我要执行什么命令,我将在下面添加信息。 编辑:这似乎是一个ufw的问题。 在删除'拒绝任何'nginx似乎是可及的(我想我已经试过了,显然第一次放在它周围没有工作) – 现在的问题是,哪个端口被NGINX需要封锁? 80端口是开放的,NGINX是否需要另一个工作? (因为我想closures不需要的IN端口) 我试过的东西: /var/log/nginx/access.log和/var/log/nginx/error.log都没有条目 – # lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 11512 root 7u IPv4 3215792 0t0 TCP *:http (LISTEN) nginx 11513 www-data 7u IPv4 3215792 0t0 […]

带有X-Accel-Redirect的nginxredirect循环

试图让nginx使用X-Accel-Redirect头文件。 我得到这个错误: *24 rewrite or internal redirection cycle while internally redirecting to "/app/index.php", client: 127.0.0.1, server: project.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "project.dev" nginx网站conf: server { listen 80; server_name project.dev; root /www/project; location ^~ /f/ { internal; alias /www/project/files/; } location / { try_files $uri /app/index.php$is_args$args; } include php.conf; include apache.conf; } /www/project/app/index.php […]

Nginx上传模块和文件名

我有一个关于nginx上传模块和文件名的问题: 2013/02/05 21:01:55 [info] 23432#0: *5 started uploading file "kvm.pdf" to "/var/www/html/0000000004" (field "file[]", content type "application/pdf"), client: 127.0.0.1, server: , request: "POST /upload/share?X-Progress-ID=0520d308f3b8c4ee5d03b20301416031 HTTP/1.1", host: "localhost", referrer: "***/upload/share?X-Progress-ID=4113dd986661cafbb8cfeede98d9dba2" 2013/02/05 21:01:55 [info] 23432#0: *5 finished uploading file "kvm.pdf" to "/var/www/html/0000000004", client: 127.0.0.1, server: , request: "POST /upload/share?X-Progress-ID=0520d308f3b8c4ee5d03b20301416031 HTTP/1.1", host: "localhost", referrer: "***/upload/share?X-Progress-ID=4113dd986661cafbb8cfeede98d9dba2" 我已经上传文件kvm.pdf,但保存为0000000004,这不是一个好主意。 可以更改为存储具有原始名称的文件吗? upload_set_form_field […]

Ruby on Rails网站在Nginx上运行502错误

我的Ruby on Rails网站正在抛出零星的502错误。 它运行在Nginx上,与Passenger一起安装,托pipe在运行Ubuntu 10.04的服务器上。 看来错误变得越来越稀疏,但是它们仍然造成了一个问题。 我猜测它与缓冲区大小有关,但我不确定。 我知道有同样问题的人还有其他一些问题,但是这似乎很奇特。 在此先感谢您的任何帮助或build议。 我可以给你任何你可能需要的规格或版本号。 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { passenger_root /usr/local/rvm/gems/ruby-1.9.3-p362/gems/passenger-3.0.18; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p362/ruby; include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; #buffer size proxy_buffers 8 16k; proxy_buffer_size […]

Nginx代理Node.js返回400在SSL下

我正在构build一个Node.js项目,我想站在它前面的一个Nginx代理。 我有听80端口的服务器就好了,但我希望它在两个(开发中)听。 如果我尝试通过SSL访问应用程序,我得到一个400错误,访问日志条目是奇怪的(对我来说): 10.0.2.2 – – [06/Feb/2013:15:55:12 +0000] "-" 400 0 "-" "-" 我的server块看起来像这样: server { listen 80; listen 443 default ssl; server_name localhost; ssl_certificate /etc/ssl/certs/server.pem; ssl_certificate_key /etc/ssl/private/server.key; access_log /var/log/nginx/project.access.log; error_log /var/log/nginx/project.error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:3000/; proxy_redirect off; } } 我错过了什么?

带有Nginx的fastcgi-mono-server比xsp4慢得多

我们开始在用mono-3.0.3编译的xsp4服务器上testing我们的MVC4应用程序,速度足够了,我们决定用nginx (1.2.6-r1)设置生产fastcgi-mono-server4 (版本2.11.0.0)。 加载一些JSON查询的单个查询在XSP4上花费了大约200ms,但Nginx在大约1.2s内提供查询,我想知道在哪里可以这么慢呢? 我遵循nginxconfiguration: http : //www.mono-project.com/FastCGI_Nginx和fastcgi-mono-server4使用套接字来侦听nginx。 你有什么想法如何logging一些时间戳,这将帮助我? 谢谢

mediawiki和wordpress MU与Nginx不同

我想在同一个域名上使用mediawiki的wordpress MU,但是我使用的是一种名为wikifamily的mediawiki托pipe服务。 所以我有不同的脚本根: / var / www / wikifamly为mediawiki / var / www / blogs for wordpress 我想这样使用它: mydomain.com或博客的mydomain.com/blog mediawiki的mydomain.com/wiki 我试图写一些想像: map $http_host $blogid { default -999; } server { server_name mydomain.com; root /var/www/blogs/; index index.php; location /wiki { index index.php index.html index.html; root /var/www/wikifamly; rewrite ^/?wiki/(.*)$ /index.php?title=$1 last; rewrite ^/?wiki/*$ /index.php last; rewrite ^/*$ […]

.htaccess到Nginx的具体脚本/文件夹?

我已经在依赖.htaccess重写规则的子文件夹中安装了脚本 – 如果您在正确安装后访问脚本,它将redirect到您实际上不存在于服务器上的/login页面。 然而,这一切都在Apache上。 我想知道如何将下面的.htaccess规则转换为nginx,但也不会影响我们的网站在根目录中。 .htaccess读取… Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php 该脚本在一个子文件夹中 /clp2/ 所以我假设如果我做任何redirect的位置规则,它将需要指定子文件夹? 由于这个.htaccess文件显然是文件夹特定的,而不是networking特定的。 脚本的完整服务器path是 /var/www/vhosts/i-16852366/clp2 任何input的欢迎,我认为这是很容易,如果你知道你在做什么 – 我试过一个nginx重写器,但它不工作,显然不是特定于我需要它做重写规则的文件夹,所以我也需要一些指导。 这里是我目前的nginx.conf – 我假设它会在http块的某个地方? user nginx; worker_processes 2; error_log […]

带有proxy_cache的Nginx ssi在第一次请求后挂起

我正在为我们的dynamic页面使用Nginx的代理caching,并且最近已经集成了ssi。 首页加载工作正常,但一旦页面被caching,另一个请求通过页面刚刚挂起。 日志似乎表明正在做多个子请求(只有一个指令,并在布局),我不知道为什么发生这种情况。 页面在第一次加载时加载正常,caching的版本旋转其轮子并打破。 这是我的configuration。 proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=500m inactive=60m; #caching proxy_temp_path /var/tmp; #caching gzip_comp_level 6; gzip_vary on; gzip_min_length 1000; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_buffers 16 8k; upstream staging { server 127.0.0.1:1337; } server { listen 0.0.0.0:80; server_name dev.example.com; access_log /var/log/nginx/dev.example.log; error_log /var/log/nginx/dev.example.error.log debug; log_subrequest on; location […]

在8080有一个子域从80 / subredirect

我试图在Nginx后面的端口8080上build立一个服务器。 我想,当试图达到myserver /子,所有后/子被redirect到8080,没有子。 目前,我无法从url中删除sub。 我的位置configuration是: location /sub { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection $connection_upgrade; Upgrade $http_upgrade; proxy_pass_header Upgrade; proxy_pass_header Connection; rewrite /sub/(.*) /$1 break; proxy_pass http://localhost:8080; } 你可以看到,我有在开发版本的Nginx代理websocket … 要清楚:我想要的是,如果我写的URL myserver /子/连接它将等于myserver:8080 /连接,和URL myserver /子将相当于myserver:8080。 但是用户不知道它是在端口8080上发生的,而且必须认为每个东西都在/ sub。