Articles of nginx

如何configurationnginx从两个不同的文档根目录服务一个网站,并根据URL使用不同的php

我试图configurationnginx根据url使用两个不同的文档根,所以如果有人连接到www.example.com将从/ portal / public_html获得网站,但是如果客户端连接到www.example.com/account将得到从其他目录/门户网站2 /公共和该网站的网站应由PHP 7服务。我在nginxconfiguration中使用variables来实现我的目标,但东西不工作,因为我认为它应该。 我得到错误500.在我的日志中,我看到nginx正在他的默认目录“/ usr / share / nginx / html”寻找网站文件2017/11/20 10:31:38 [debug] 21729#0: *421789 fastcgi param: "DOCUMENT_ROOT: /usr/share/nginx/html 也许configuration会更简单,阅读和理解,然后我生锈的英语,所以这是我的nginxconfiguration: 服务器{ 听81默认; server_name www.example.com; access_log /var/log/nginx/www.example.com.access.log; error_log /var/log/nginx/www.example.com.error.log debug; 位置 / { 设置$ my_root / portal / public_html; #PHP v5 设置$ php_host_port 127.0.0.1:9000; root / $ my_root; index index.php; proxy_read_timeout 200; include […]

为什么需要chmod o + r父目录来修复Nginx和Passenger的403访问禁止错误?

这可能是一个Nginx的皱纹,也可能是因为我不懂Unix的权限。 我们使用Hudson CI来部署我们的临时实例。 所以RAILS_ROOT是/var/lib/hudson/jobs/JOBNAME/workspace 。 哈德森作为哈德森用户运行 Nginx作为www-data用户运行 hudson和nginx都是www组的成员 根据我的nginx conf指向RAILS_ROOT/public按照正常。 RAILS_ROOT/config/environment.rb属于www-data (所以Passenger作为www-data运行) RAILS_ROOT及其中的所有内容由www组拥有,组具有r / w / x权限 就目前而言,Nginx在请求任何url时都403 permission denied了403 permission denied 。 error.log包含这样的条目: public/index.html" is forbidden (13: Permission denied) 。 这些并没有解决或改变错误(每一个停止/开始的Ngnix): chmod 777 -R RAILS_ROOT chgrp www -R /var/lib/hudson 我也以root身份尝试过Nginx,并且乘客抱怨找不到config/environment (尽pipe错误页面显示的path是正确的)。 解决的办法是确保everybody都有读取权限在每个目录在heirachy 。 在这种情况下, chmod o+r /var/lib/hudson 。 但是,如果该组对目录具有读取权限,并且nginx是该目录所有者组的成员,为什么需要允许所有人读取权限? 有什么没有关于权限grokked? $nginx -V nginx version: […]

性能testingapache和nginx

刚刚把我的服务器从Apache转移到nginx,我想知道如何去衡量服务器的性能。 有任何脚本可以运行在服务器上吗? 此外,任何好的博客文章,对服务器执行性能testing的文档将不胜感激。 谢谢,Matt

Apache虚拟主机的SSL / HTTPS代理

我目前有一个运行在Apache上的应用程序。 它使用子域在用户帐户之间破坏。 我想添加SSL支持(通配符)。 一个相当普遍的解决scheme似乎是以下(只使用两个虚拟主机)。 <VirtualHost *:80> # sauron.com # some other app </VirtualHost> <VirtualHost *:80> # *.frodo.com Include app.conf </VirtualHost> <VirtualHost *:443> Include a file SSLEngine On … </VirtualHost> 不过,我宁愿在*:80虚拟主机前面有一个SSL代理。 我运行了跨越mod_proxy但我发现的样本不处理子域(或只有手动configuration每个子域)。 user1.frodo.com:433 -> user1.frodo.com:80 userX.frodo.com:433 -> user1.frodo.com:80 任何想法如何用Apache代理实现这一点? 还是应该使用额外的代理服务器(nginx?)呢? 那么是否有任何样本configuration(找不到这个nginx子域的情况下)?

django:通过nginx提供静态文件

我使用的是Apache + mod_wsgi for django。 所有的css/js/images通过Nginx服务。 对于一些奇怪的原因,当others/friends/colleagues尝试访问该网站, jquery/css没有得到加载他们,因此该页面看起来混乱起来。 我的HTML文件使用这样的代码 – <link rel="stylesheet" type="text/css" href="http://xxxx:8000/css/custom.css"/> <script type="text/javascript" src="http://1x.xxx:8000/js/custom.js"></script> 我的网站nginxconfiguration – 可用是这样的 – server { listen 8000; server_name localhost; access_log /var/log/nginx/aa8000.access.log; error_log /var/log/nginx/aa8000.error.log; location / { index index.html index.htm; } location /static/ { autoindex on; root /opt/aa/webroot/; } } 有一个目录/opt/aa/webroot/static/有相应的css & js目录。 奇怪的是,当我访问它们时,页面显示正常。 我已经清除了我的cache/etc ,但从各种浏览器的页面加载罚款。 另外,在nginx日志文件中我没有看到任何404错误。 其实nginx的日志根本没有被刷新。 […]

与nginx一起使用的SSL证书

所有, 思考完后,我们打算购买SSL证书。 由于SSL证书的成本非常高昂,您是否可以分享您在使用nginx的SSL证书方面的经验? 我打算运行Ruby on Rails应用程序。 Apache2将是我的最后一招。 感谢你的分享。 真的很感激。

我正在设置Ubuntu Server 10.04 LTS,我的安装应该到哪里去?

我在设置networking服务器方面有一点点小菜,但是我想做的对。 我在VPS上使用Ubuntu Server 10.04 LTS,目前它是全新安装,启用了root用户设置和SSH。 除此之外,它是新鲜的。 我正在设置它作为我正在做的网站项目的networking服务器。 我需要安装Nginx,FastCGI,PHP5,MySQL等,但是我需要一些帮助,试图以正确的方式进行设置。 虽然我在这里主要讨论的是Nginx,但这只是一个例子。当我可以决定把东西放在哪里的时候,我可以使用与我安装的任何其他软件相同的公式。 我已经阅读了关于FHS的所有内容,并详细了解了如何解释不同文件夹的用途,但我想确保。 说我正在编译Nginx …有什么select安装实际程序的位置,放置configuration文件的位置,放置日志文件的位置和PID文件的位置等。我目前的想法是这样的: Nginx自身:/opt/nginx/Nginxconfiguration文件:/etc/nginx/Nginx日志文件:/var/log/nginx/Nginx PID:/ var / run / 这听起来正确吗? 任何其他的想法? 谢谢

Nginx只提供文件的一部分

我正在使用nginx,只需要提供一个文件的Nbytes(或服务的秒/分钟限制)。 如何用nginx做到这一点?

FTP / SFTP&Fusenetworking传递,而不使用networking服务器的带宽

我想使用我的Web服务器上的保险丝使用ftp / sftp从远程文件存储装载文件,而不使用Web服务器的带宽。 我们的目标是让Web服务器透明地向用户提供这些文件,而不必提供原始的ftp信息,所以ftp:// user:[email protected]将不会这样做。 是否有可能nginx(或Apache,如果我必须)“反弹”的数据给用户而不使用服务器的带宽? 任何想法或build议表示赞赏。 谢谢。

Nginx虚拟主机不按预期工作

我有一个VPS,我一直在使用Web服务器设置进行实验。 我目前的设置是Apache监听端口80服务几个站点,并代理其他一些端口8080上运行的Nginx。 我正在运行最新更新的Ubuntu 10.04,但是自己编译了Nginx v0.7.67,并且支持uWSGI。 摘自我的Nginxconfiguration: server { listen 127.0.0.1:8080; server_name sub1.primary.com; access_log /srv/www/sub1.primary.com/logs/access.log; error_log /srv/www/sub1.primary.com/logs/error.log; location /site_media/static/ { alias /srv/www/sub1.primary.com/site_media/static/; } location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; } } server { listen 127.0.0.1:8080; server_name .secondary.com; access_log /srv/www/secondary.com/site_media/logs/access.log; error_log /srv/www/secondary.com/site_media/logs/error.log; location / { alias /srv/www/secondary.com/site_media/static/; } } 当我只有第一个server指令时,一切都按预期工作。 当我添加第二个,第一个继续按原样工作,但是secondary.com的域名显示了我在sub1.primary.com上运行的网站。 如果我然后禁用第一个,我可以访问secondary.com的东西。 我只在secondary.com托pipe静态文件,这就是为什么我不使用location index 。 为了完整起见,我提到了Apache的代理,但是由于我看到一个Nginx正在服务的站点,我认为问题在于此。 […]