Articles of nginx

用Nginx运行PHP的最佳方式

用Nginx运行PHP的最好方法是什么? 用PHP FastCGI运行Nginx 运行Nginx作为反向代理,而Nginx将请求转发给Apache

与Apache相比,Nginx在Linux上performance更好吗?

由于Apache基于线程(每个新连接一个新线程)和nginx基于进程(每个连接到服务器的新连接一个新进程),所以Apache与Nginx的性能比较明智。 所以Nginx自基于进程以来performance更好。 但是,如果将它们部署在Linux上,则由于没有线程的直接概念,并且在Linux线程被映射为在内核级别上进行处理,这是否重要。 所以对于Linux上的Apache和Nginx,性能应该是一样的,但是Nginx比Apache好,为什么呢?

让我们来encryptionNginx插件的安装和使用

让我们来encryption刚刚发布的公测,这真是太好了。 我使用Nginx作为一个networking服务器,我知道,迄今为止,我们的Encrypt只通过插件支持Nginx。 现在问题是这样的: 我不太清楚我应该如何安装和使用该插件。 我一直试图用这个命令来运行它,从他们的文档中引用: ./letsencrypt-auto certonly –standalone -d example.com -d www.example.com 并改变 – 对nginx ofc 不pipe我怎么试,结果答案总是一样的: $ The requested nginx plugin does not appear to be installed 任何想法如何使nginx和让我们encryption一起工作? 干杯!

Nginx作为1个网站的Web服务器和另一个Apache。 可能吗?

在具有centos面板的VPS上,我将Apache作为web服务器,将Nginx作为反向代理。 我听说第二个比Apache处理PHP请求更快,我想将它configuration为WebServer for 1的网站,但是我仍然需要另外一个Apache。 可能吗? 我的目标是加快php页面的服务时间。 例如wp-admin / admin-ajax.php需要7秒才能呈现! 我会期待0.5秒。

在Ubuntu Linode上使用Nginx的PHP错误(通过FastCGI)

我使用以下指南在Linode的Ubuntu 10.04服务器上设置LEMP(Linux,Nginx,MySQL和PHP): http : //library.linode.com/lemp-guides/ubuntu-10.04-lucid 本质上,我将我的PHP脚本上传到/srv/www/mysite.com/public_html指定的目录( /srv/www/mysite.com/public_html )。 在浏览器中访问该网站给我一个500内部服务器错误。 我假设有一些PHP代码的错误,这很好。 然而,我完全不知道如何debugging,因为有几个组件:PHP,FastCGI和Nginx。 我的问题是,如何获得这些错误显示在浏览器中,或至less在日志中,所以我可以弄清楚是怎么回事? 我不确定是否需要告诉Nginx在某处logging错误,或者FastCGI,或编辑php.ini。 我有完整的根服务器来解决这个问题。 不过,我不确定如何重新启动PHP / FastCGI(尽pipe我知道如何重新启动Nginx),因为我遵循的指南使用了某种守护进程。 谢谢你的帮助,你可以给我。

有没有一个“已知的好”path将好的旧webapps从apache移动到nginx?

原来我的问题应该是更具体的:“可以nconf(configurationwebapp for nagios)在nginx上运行”? 作为一名开发人员,我非常喜欢nginx,因为它的资源利用率低,定制构build以及简单易读的configuration,但是我的一部分工作也是系统pipe理/设置,所以重复性和易安装性变得更加重要。 我一直在发现自己在nginx下正常运行,因为没有标准的“添加mod-something模块”解决scheme,加上我们已经习惯的大多数旧的pipe理应用程序,比如nagios,nconf等经常列出apache作为一个要求,这似乎是愚蠢的,因为从发展的angular度来看,服务于你生成的html /任何输出的web服务器不应该规定你如何编写你的应用程序。 服务nagios并不是非常痛苦,我不得不学习fcgiwrap和php-fpm,但是现在我用nconf命中了一个绊脚石,因为它依赖于一些perl模块,并且在安装完apache2中的所有内容之后,导致nginx中出现未logging的501错误。 为了运行Redmine,我不得不自定义构buildnginx,因为我想使用企业ruby,所以我不得不跳过更多的箍环。 我应该停止尝试使用nginx进行内部服务,花更多的时间在园艺上,还是有一些很好的方式来跟踪所有这些设置的恐惧,所以我可以让我的继任者接pipe没有负罪感的良心?

在Nginx上“如果可能,删除下面的redirect链”

我在我的1纯HTML文件网站上运行Pingdomtesting,我得到这样的评分: 如果可能,请删除以下redirect链: http://example.com/ http://www.example.com/ https://www.example.com/ 而我的.conf中唯一的redirect是: server { listen 80; server_name example.com; return 301 $scheme://www.example.com$request_uri; } 下一个块是SSL和其余的。 server { listen 443 ssl http2; etc… } 没有其他configuration。 我所需要的是将非wwwredirect到www,并且始终仅https并通过testing。 更新:完整.conf server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri; } server { listen 443 ssl http2; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers […]

SVN服务器上的`svn checkout`会导致repo中断301错误

我们有一个nginx服务器代理Apache + SVN的标准设置。 nginx的设置是一个非常简单的代理: server { server_name svn.ourdomain.tld; location / { proxy_pass http://localhost:8080; } } Apache的设置如下: <Location /> DAV svn SVNParentPath /var/svn AuthType Basic AuthName "Authentication Required" AuthUserFile /var/svn/.auth Require valid-user </Location> …它允许我们使用像http://svn.ourdomain.tld/repo这样的东西来访问存储库。 我们现在已经运行了这个设置了大约2年没有问题。 最近我们发现,我们需要将其中一个存储库检出到服务器本身上,但是每当我们这样做的时候,似乎就会打破回购。 从那一刻起,它只会回应一个301 Moved Permanently错误。 我们已经尝试过: svn co file:///path/to/repo svn co svn://localhost/repo svn co svn://svn.ourdomain.tld/repo svn co svn+ssh://localhost/repo svn co svn+ssh://svn.ourdomain.tld/repo svn […]

Nginx用一个外部程序重写

在Apache的mod_rewrite模块中有一个叫做RewriteMap的特性。 这允许调用外部程序来处理redirect(允许更复杂的redirect)。 Nginx是否有相同的function? 我已经看了HttpMap和重写模块,但无法find一种方法来做到这一点。 任何指针都会很棒。

什么标题添加最有效的文件caching?

所以我有我的nginx服务器上的静态文件的这个响应头。 Cache-Control:max-age=2592000 Connection:keep-alive Date:Sat, 11 Dec 2010 22:28:13 GMT Expires:Mon, 10 Jan 2011 22:28:13 GMT Last-Modified:Sat, 11 Dec 2010 22:11:35 GMT Server:nginx/0.6.32 我想删除服务器签名以减less响应大小。 我应该在我的服务器configuration中添加什么,以使浏览器使用文件,甚至不向服务器发出请求,总体上尽可能高效? 目前我可以很快得到服务器上的js: http : //i55.tinypic.com/orrons.png 编辑:我知道添加这个属性:add_headercaching控制公共; 而响应标题是这样的: Cache-Control: max-age=31536000 Cache-Control: public 因为我已经到期了 也设置。 有没有办法join他们? 我也检查了Facebook的JavaScript文件的回应,他们使用这些技术: HTTP/1.1 200 OK Content-Type: application/x-javascript; charset=utf-8 Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT Pragma: Content-Encoding: gzip X-Cnection: […]