我想用Ubuntu的一些工具来testing我的服务器,它可以处理多less。 有什么build议么? 我之前使用过apache的基准testing,但是我想尝试一下其他的东西。 (作为一个侧面的问题,如果我只使用nginx,apache基准testing工作吗?)
我想在生产中使用Lighttpd来提供Django应用程序,但是现在看来,Nginx越来越stream行了。 这是为什么? 我知道在过去Lighttpd有内存泄漏,但现在不是这个固定的? 他们确实有活跃的开发人员来解决这种事情,不是吗? 有什么理由我应该用Nginx而不是Lighty? 我知道nginx是一个很好的服务器,但它真的比lighty更好,更好吗?
我从MacPorts上安装并configuration了Mac上的nginx服务器 sudo port install nginx 遵循端口安装控制台的build议,为nginx创buildlaunchd启动项,然后启动服务器。 将nginx.conf重命名为nginx.conf ,并将mime.types.example重命名为mime.types 。 它工作正常,但我无法阻止它。 我尝试了sudo nginx -s stop ,但是这并不能阻止服务器,我仍然可以看到“Welcome to nginx!” 页面在我的浏览器上http://localhost/ ; 另外我还看到ps -e | grep nginx的nginx的master和worker进程 ps -e | grep nginx 。 在Mac上启动/停止nginx的最佳方式是什么? 顺便说一下,我已经添加了“守护进程”。 到nginx.conf中 – 按照各种资源的build议。
是否有可能在每个虚拟主机的nginxconfiguration不同的用户? 就像是 server { user myprojectuser myprojectgroup; … }
我有一个简单的nginx反向代理: server { server_name external.domain.com; location / { proxy_pass http://backend.int/; } } 问题是Set-Cookie响应头包含;Domain=backend.int ,因为后端不知道它被反向代理。 我怎样才能让nginx重写Set-Cookie响应头的内容,用;Domain=external.domain.comreplace;Domain=backend.int ? 在这种情况下,不改变Host头不是一个选项。 Apache的httpd已经有了这个function一段时间,请参阅ProxyPassReverseCookieDomain ,但我似乎无法find一种方法来做同样的nginx。
我正在努力与一些奇怪的权限相关的行为:当我configurationnginx听8080端口一切都按预期工作,但是当我使用任何其他端口时,我得到像 2014/01/10 09:20:02 [emerg] 30181#0: bind() to 0.0.0.0:8090 failed (13: Permission denied) 在/var/log/nginx/error.log 我不知道在哪里看,所以我不知道configuration的哪些部分可能会有趣。 在nginx.conf中configurationnginx运行nginx: user nginx; 另外用户nginx在另一个组“git” 在站点configuration我试图听这样: server { listen 8090; #does not work #listen 8080; #works #listen 9090; #does not work #listen 9090 default; #does not work neighter #listen 80; #works! server_name <some IP>; … } 我只有一个服务端口443的监听器。 当我开始一些其他服务,例如一个SimpleHTTPServer在端口8090等作为非root的一切工作正常: $ python -m SimpleHTTPServer […]
在nginx conf中的locaton块之后的代字号是什么意思? 例如 location ~ ^/download/(.*)$ { alias /home/website/files/$1; } 有和没有“〜”之间的区别是什么?
我看到很多关于使用nginx和varnish的讨论,我不明白为什么。 不够nginx? Nginx具有SSI,具有反向代理caching,轻量级,具有SSL,可以使用cgi,fpm等。 清漆有相同的东西,但没有ssl,也没有cgi的支持。
我使用nginx主要是作为一个反向加速代理在几个gunicon / mod_wsgi应用程序,当然还有服务器静态文件。 我发现很快我的nginx confs变得不可能维护; 问题是我有一些类似(甚至相同)的模式,但我无法设法使它变得干净。 我遇到的最大的问题之一就是我喜欢使用命名的位置来分组一组confs,例如。 location @django_modwsgi { include proxy.conf; proxy_pass http://127.0.0.1:8080; } location @django_gunicorn { include proxy.conf; # this could also be included directly in the server {} block? proxy_pass http://gunicorn_builder; } NB。 问题是没有 gunicorn和wsgi。 这只是一个例子。 另一个是: location @namedlocation_1 { some cache settings; some cache_key settings; ignore some headers; expires; proxy_pass } […]
目前我有一个ELB服务于http://www.example.org和https://www.example.org 。 我想设置它,所以任何指向http://www.example.org的请求都会redirect到https://www.example.org 。 ELB将http请求作为http请求发送,所以使用: server { listen 80; server_name www.example.org; rewrite ^ https://$server_name$request_uri? permanent; } 将无法工作,因为对https://www.example.org的请求仍将在nginx上的80端口。 我知道有可能把它改写成 server { listen 80; server_name www.example.org; if ($http_x_forwarded_proto != "https") { rewrite ^(.*)$ https://$server_name$1 permanent; } } 但是我读过的所有内容都表示, if在nginxconfiguration中应该不惜一切代价来避免这种情况发生,那么每个请求都应该这样做。 此外,这意味着我必须为运行状况检查设置一个特殊的单独configuration( 如下所述 :“…当您在ELB后面,ELB充当HTTPS端点并仅向您的服务器发送HTTPstream量时,打破对ELB需要的健康检查的响应HTTP 200 OK响应的能力“)。 我正在考虑把login到networking应用程序的代码,而不是nginxconfiguration(为了这个问题的目的,让我们假设它是一个基于Django的应用程序),但我不确定是否会更多的开销if在configuration。