Articles of nginx

我应该存储我的网站文件的path是什么?

我有一个云服务器,我禁用了rootlogin。 我用用户“demo”login(例如清单)。 所以当我SSH进入我的服务器,我的家是: /家/演示 我应该把我的网站文件在这里面吗? 我正在运行nginx,如果这有所作为。 即: /home/demo/domain1.com/ ?

带有X_Forwarded和HAProxy的Nginx HttpGeoIPModule

是否有可能使Nginx HttpGeoIPModule使用通过HAProxy发送的X_Forwarded IP? 它目前只是使用不正确的服务器IP,但不确定如何让Nginx使用X_Forwarded IP。 有任何想法吗?

使用nginx和/或varnishcaching服务器生成的301redirect

我正在实施一种url缩短服务。 会发生什么是我有一些后端应用程序服务器接受请求,做一些计算,并返回一个301redirect的URL返回上游到一个nginx前端: request —> nginx —-> app_server 我想能够做的就是caching这个返回的301 url的同一个请求(具有“短代码”的具体url)。 nginx会自动执行这个caching吗? 或者我应该在nginx和app_server之间join类似varnish的东西? 我可以很容易地将其caching在memcache中,但是这需要点击app_server,在第一次请求之后我肯定可以放弃这一点。 谢谢。

403 Mac OSX上的禁止错误 – Apache和nginx

在Google上有一百万个这样的问题,但我还没有find解决我的问题的方法。 在我的Mac上安装默认的Apache会给所有的东西(默认目录,用户主目录,虚拟服务器等)提供403个Forbidden错误。 筛选configuration文件后,我想我会给nginx一个尝试。 Nginx从主目录提供的文件很好,但是不会从我的用户目录的子文件夹提供文件。 我configuration了一个简单的虚拟主机,并要求index.html返回403禁止。 nginx日志文件中的错误信息非常清晰 – 它无法读取文件: 2011/01/04 16:13:54 [error] 96440#0: *11 open() "/Users/me/Documents/workspace/mobile/index.html" failed (13: Permission denied), client: 127.0.0.1, server: local.test.com, request: "GET /index.html HTTP/1.1", host: "local.test.com" 我已经打开了这个目录给大家: drwxrwxrwx 6 me admin 204B Dec 31 20:49 mobile 其中的所有文件: $ ls -lah mobile/ total 24 drwxrwxrwx 6 me admin 204B Dec 31 20:49 . […]

在我的情况下会更好 – apache,nginx或lighttpd?

我正在写一个PHP站点,预计将有大约200-300个并发用户浏览它。 当初始化应用程序将加载大约30个PHP类,10个可能15个图像和几个CSS文件。 所以我的问题是,除了优化我的代码和使用apc / eaccelerator为PHP)我还能做什么(尽可能接近这些并发用户数)? 目前我们还没有select要托pipe的网站的服务器,但最有可能的将是一个VPS双核+2或4GB内存。 这样的服务器可以处理这个负载吗? 另外我怎么能自己testing它,并确保它能够处理它?

Nginx的,PATH_INFO,和URL重写:我必须缺less的东西

我正在从Apache切换到Nginx / fcgi,而且在尝试设置应用程序重写规则时遇到小问题。 代码通过使用PATH_INFO来处理路由,例如example.com/foo/bar/将被路由到example.com/index.php/foo/bar/ 我已经修改了服务器configuration来传递PATH_INFO: location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME /var/www/public$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } 而重写处理程序: location / { root /var/www/public; index index.html index.htm index.php; if (!-f $request_filename) { rewrite ^(.*)/(.*)$ /index.php/$2 break; } } 有了' rewrite_log on ',这个url看起来是正确的路由: [error]: *2 open() "/var/www/public/index.php/test" […]

nginx:如何在nginx中添加新的site / server_name?

我刚开始在Ubuntu 10.04上探索Nginx。 我安装了Nginx,并且能够在本地主机上获得“Welcome to Nginx”页面。 但是,即使在站点可用/默认文件中进行更改,我也无法添加新的server_name。 尝试重新加载/重新启动Nginx,但没有任何工作。 一个有趣的观察。 浏览器中的“ http:// mycomputername ”工作。 所以不知何故有一个像“server_name $ hostname”这样的命令可以覆盖我的规则。 File:sites-available / mine.enpass server { listen 80; server_name mine.enpass ; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; index index.html index.htm; } } 文件:nginx.confg user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http […]

504在Nginx-Apache-WordPress平台上发布之后的网关超时

我build立了一个WordPress的博客, Nginx作为Apache的反向代理 。 一切都很顺利,但是有一点问题。 当我写一个新的职位,我可以保存草稿,一切正常。 但是, 如果我点击发布button ,服务器会给出“ 504 Gateway time-out ”错误(下面的行是Nginx 0.7.65)。 奇怪的是,如果我访问我的博客,这篇文章确实是公布的 ,没有错误,任何事情都应该如此。 所以我只是回到我的pipe理页面,在那里,这个post被列为已发布,好像504错误是一个小警告。 我认为这个问题与PHP有关 (没有PHP-FPM,只是php5 -btw的正常安装,一切都在Ubuntu 10.04 LTS下),或者可能与我在根目录下的Apache .htaccess文件有关的博客,这是典型的.htaccess: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress # protect wpconfig.php <files wp-config.php> order […]

Nginx的用户子域名,我应该proxy_pass?

我试图设置用户子域名,提供来自特定文件夹的内容: www.example.com/username从username.example.com (就像github页面)。 我看了Nginx重写,但我不希望浏览器redirect – 我想要的域名是username.example.com。 无论如何,对这个问题的评论说,我不能重写主机,只能代理它。 我尝试设置一个proxy_pass ,但所有的文档和示例显示它被用来(显然)代理到另一个主机或端口上的服务,但在我的情况下,我只想代理到另一个位置在同一个主机和端口。 这是解决这个问题的适当方法吗?如果是的话,那么正确的Nginxconfiguration语法是什么?

为nginx中上游的所有服务器设置max_fails和fail_timeout

我所见过的在nginx中使用upstream(用于负载均衡)的例子看起来像这样: upstream backend { server backend1.example.com:8080 max_fails=3 fail_timeout=30s; server backend2.example.com:8080 max_fails=3 fail_timeout=30s; server backend3.example.com:8080 max_fails=3 fail_timeout=30s; } 似乎重复为每个后端重新设置max_fails和fail_timeout,通常它们总是相同的。 是否可以同时为所有后端服务器设置max_fails和fail_timeout?