Tag: Nginx

升级到osx优胜美地后Nginx破了

Nginx在Mavericks上工作的很好,现在我升级到Yosemite后,显示nginx命令没find ,我试着用brew安装nginx来安装nginx ,它显示错误 Error: You must brew link pcre before nginx can be installed 并brew link pcre显示 Linking /usr/local/Cellar/pcre/8.35… Error: No such file or directory – /usr/local/Cellar/pcre/8.34/share/doc/pcre 它试图链接8.34。 我仍然重新安装它,我如何解决它?

用nginx重写所有对index.php的请求

在我的Apacheconfiguration,我有以下简单的重写规则 除非文件存在将重写到index.php 在你永远不会看到文件扩展名(.php) 我怎么能重写这个在Nginx? # # Redirect all to index.php # RewriteEngine On # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (/[^.]*|\.)$ [NC] RewriteRule .* index.php [L] 下面是我的nginx服务器块现在的样子,但它不工作:( root /home/user/www; index index.php; # Make site accessible from http://localhost/ server_name some-domain.dev; ############################################################### # exclude /favicon.ico […]

在Nginx位置规则中使用variables

在Nginx中,我试图定义一个variables,它允许我为所有的位置块configuration一个子文件夹。 我做到了这一点: set $folder '/test'; location $folder/ { […] } location $folder/something { […] } 不幸的是,这似乎并不奏效。 虽然Nginx不会抱怨语法,但在请求/test/时会返回404。 如果我明确写入文件夹,它的作品。 那么如何在位置块中使用variables?

如何在NGINX中的代理响应中重写URL

我习惯于使用mod_proxy_html来使用Apache,并试图用NGINX实现类似的function。 具体的用例是我有一个pipe理用户界面在服务器端口上的端口8080上运行在Tomcat上: http://localhost:8080/ 我需要在端口80上显示这个,但是我在这个主机上运行的NGINX服务器上有其他的上下文,所以想试试这个: http://localhost:80/admin/ 我希望以下超级简单的服务器块会这样做,但它不完全: server { listen 80; server_name screenly.local.akana.com; location /admin/ { proxy_pass http://localhost:8080/; } } 问题是返回的内容(html)包含脚本和样式信息的URL,这些URL都是在根上下文中访问的,所以我需要将这些URL重写为/ admin /而不是/。 我如何在NGINX中做到这一点?

使用nginx从给定目录的子目录提供静态文件

我在我的服务器上有几组静态.html文件,我想用nginx直接提供服务。 例如,nginx应该提供以下模式的URI: www.mysite.com/public/doc/foo/bar.html 与位于/home/www-data/mysite/public/doc/foo/bar.html的.html文件相关/home/www-data/mysite/public/doc/foo/bar.html 。 您可以将foo视为设置名称,并将其作为文件名称。 我不知道是否接下来的nginxconfiguration会做这个工作: server { listen 8080; server_name www.mysite.com mysite.com; error_log /home/www-data/logs/nginx_www.error.log; error_page 404 /404.html; location /public/doc/ { autoindex on; alias /home/www-data/mysite/public/doc/; } location = /404.html { alias /home/www-data/mysite/static/html/404.html; } } 换句话说,模式/public/doc/…/….html中的所有请求都将由nginx处理,如果找不到任何给定的URI,则默认为www.mysite.com/404.html被返回。

权限被拒绝 – nginx和uwsgi套接字

那么我目前正在试图让我的django应用程序使用nginx和uwsgi服务。 我目前正在使用安装了uwsgi的虚拟环境。 不过,当我尝试访问该页面时,目前正在收到502错误的网关错误。 我正在经历的错误。 2014/02/27 14:20:48 [crit] 29947#0: *20 connect() to unix:///tmp/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 144.136.65.176, server: domainname.com.au, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:///tmp/uwsgi.sock:", host: "www.domainname.com.au" 这是我的nginx.conf # mysite_nginx.conf # the upstream component nginx needs to connect to upstream django { server unix:///tmp/uwsgi.sock; # for a file socket #server […]

添加斜杠到每个url的末尾(需要对nginx重写规则)

我试图得到一个“/”到每个url的结尾: example.com/art 应该 example.com/art/ 我使用nginx作为web服务器。 我需要这个重写规则.. 为了更好的理解检查这个: http://3much.schnickschnack.info/art/projekte 如果你按下一个小图片下的大缩略图重新加载并显示此url: http://3much.schnickschnack.info/art/projekte/#0 如果我现在在所有url上都有一个斜杠(最后),它将无需重新加载站点。 现在我在nginx-http.conf中有这个设置: server { listen *:80; server_name 3much.schnickschnack.info; access_log /data/plone/deamon/var/log/main-plone-access.log; rewrite ^/(.*)$ /VirtualHostBase/http/3much.schnickschnack.info:80/2much/VirtualHostRoot/$1 last; location / { proxy_pass http://cache; } } 如何configurationnginx添加斜杠? (我想我应该重写规则?)

nginx-重复的默认服务器错误

在我的错误日志中,我得到了 [emerg] 10619#0:在/etc/nginx/sites-enabled/mysite.com:4中为0.0.0.0:80的重复默认服务器: 在线4我有: server_name mysite.com www.mysite.com; 有什么build议么?

nginx可以用作后端websocket服务器的反向代理吗?

我们正在研究一个需要利用html5 websockets的Ruby on Rails应用程序。 目前,我们有两个独立的“服务器”可以这么说:我们的主要应用程序运行在nginx +乘客上,另一个服务器使用Pratik Naik的Cramp框架(运行在Thin上 )来处理websocket连接。 理想情况下,当部署的时候,我们应该在nginx + passenger上运行rails应用程序,而websocket服务器将在nginx后面代理,所以我们不需要让websocket服务器运行在不同的端口上。 问题是,在这个设置中,似乎nginx过早地closures了Thin的连接。 连接成功build立到瘦服务器,然后立即closures200响应代码。 我们的猜测是,nginx并没有意识到客户端正在尝试为websocketstream量build立一个长期运行的连接。 不可否认的是,我并不是那么了解nginxconfiguration,所以,甚至有可能configurationnginx作为websocket服务器的反向代理吗? 还是我必须等待nginx提供新的websocket握手的支持? 假设让应用服务器和websocket服务器在端口80上侦听是必需的,那么可能意味着我现在必须在没有nginx的单独的服务器上运行Thin。 提前感谢您的任何意见或build议。 🙂 -约翰

Node.JS前面的反向代理的优点

将nginx或其他Web服务器作为Node.JS之前的反向代理运行的优点是什么? 它提供了什么? (这个问题的目的是关于networking应用程序,而不是网页)。 谢谢。