我正在开发一个Web应用程序,用户将拥有自己的子域来login和使用应用程序。 我正在运行WordPress的主要网站pipe理公众/前端。 我们的应用程序是在zend框架中开发的。 zf项目目前位于主服务器的子文件夹中。 我想将zend框架项目放到另一个服务器上(不同的IP),并将其与wordpress前端www.domain.com站点分开。 zf应用程序服务器将运行nginx。 我不知道如何设置一个服务器来运行严格的子域。 在configuration文件中设置虚拟主机是没有问题的。 为用户提供username.domain.com。 但是主要的默认configuration文件呢? 如何configuration,因为顶级域名在技术上是另一个IP上的另一个服务器(wordpress)?
比方说,我得到一个GET请求文件/dir/01/23/file.ext 。 我想服务于文件/dir/01/23这是一个无扩展名的文件。 文件名应该是file.ext而不是03,应该使用.ext的MIME。 如何在nginx中编写规则来做到这一点?
我正在使用一个PHP表单发送电子邮件。 该脚本报告成功,但邮件永远不会到达。 邮件日志的尾部显示: Nov 22 01:24:25 contra postfix/pickup[1195]: 0CC1B119A53: uid=100 from=<nginx> Nov 22 01:24:25 contra postfix/cleanup[1320]: 0CC1B119A53: message-id=<[email protected]> Nov 22 01:24:25 contra postfix/qmgr[1196]: 0CC1B119A53: from=<[email protected]>, size=363, nrcpt=1 (queue active) 只是想知道这是从哪里来的,如果这就是为什么邮件没有到达。
我的nginx发送了很多消息到系统日志,但我不需要它们。 在我的nginx.conf中: error_log /var/log/nginx-error.log notice; …… server { access_log off; location / { …. } } 但是,在我看到的/var/log/message Nov 22 23:25:09 cache3 nginx: 2011/11/22 23:25:09 [error] 3437#0: *32172530 kevent() reported about an closed connection (60: Operation timed out) while reading response header from upstream, client: , server: , request: "GET http://www.igoido012.com//vk HTTP/1.1", upstream: "http:////vk", host: "www.igoido012.com", […]
我有以下的vhost条目 server { listen 80; server_name example.com www.example.com; #access_log /var/log/nginx/nginx-access.log; location /media/ { root /home/luke/django/solentcms; } location /admin/media/ { root /home/luke/virts/django1.25/lib/python2.7/site-packages/django/contrib/admin/media; } location / { proxy_pass http://127.0.0.1:8001; } error_page 404 /404.html; location = /404.html { root /home/luke/django/solentcms/404; allow all; } error_page 500 502 503 504 /500.html; location = /500.html { root /home/luke/django/solentcms/404; allow all; } […]
我发现自己需要限制特定IP可以发送给特定URI的请求的数量(例如www.foo.com/somewhere/special ),同时使网站的其他部分不受pipe制。 我将如何使用内置于Nginx的HttpLimitReqModuleconfiguration?
我有nginx + php-fpm + apc设置。 没有数据库。 在数据文件夹我有一个简单的PHP脚本,当调用文件名参数检查,如果文件存在,如果它然后它把它,如果没有,那么它下载它在同一个文件夹,然后把它。 速度非常重要,现在用浏览器输出文件需要70ms。 这些文件是大小为1-2kb的图像。 有了这个速度在一些月份,该文件夹中将有成千上万的图像。 这个脚本将被称为每秒几十次(也许更多)。 所以恐怕服务器会开始挣扎。 你能告诉我: -Nginx调整 – 系统调整 – 我应该什么时候运行一些硬盘维修? 你还有什么build议在这种情况下? 内存:386MB(可升级)CPU:Xeon E5506 @ 2.13GHz CentOS 6 更新#1一个有趣的想法:不要让PHP检查一个文件是否存在 – 让nginx尝试直接提供文件,然后作为404处理程序回退到PHP。 如果你离开nginx做它的事情,它应该很容易服务〜1000 2kb图像/秒没有调整。
我已经在sites-enabled / domain.tld文件中定义了4个不同的主机名。 每个文件都是以下列方式: #Redirect everything to the main site. server { server_name *.abc.net; listen 80; root /var/www/vhosts/abc.net/httpdocs; if ($http_host != "acb.net") { rewrite ^ http://abc.net$request_uri permanent; } include /etc/nginx/conf.d/restrictions.conf; #Additional rules go here. # Only include one of the files below. include /etc/nginx/conf.d/wordpress.conf; # W3 Total Cache Rules include /var/www/vhosts/abc.net/httpdocs/nginx.conf; } 站点启用的文件夹中的每个服务器块只会更改域名,所以abc.net会变成xyz.com等等。 问题是,不pipe所有这些configuration文件到位,所有的虚拟主机只是redirect到一个虚拟主机。 我已经尝试重新启动nginx服务器,重新加载它,并重新启动服务器。 […]
我目前有一个单一的Apache服务器,在那里定义了几个命名的虚拟主机,所有的服务在同一个IP上,在端口80上。 不过,我有一个静态的虚拟主机(一个特定的领域),我想用nginx服务。 这可能不需要我设置nginx转发所有请求到其他虚拟主机? 我真的想避免,我需要列出在Apache和Nginx的每一个虚拟主机,这是一个configuration错误的秘诀…
我能够成功configurationnginx和乘客注册。 我现在有以下configuration server {listen 80 server_name **sub1.example.com** root /home/user/app1/public } server {listen 80 server_name **sub2.example.com** root /home/user/app2/public } 现在,我想将其更改为以下configuration server {listen 80 server_name **dev.example.com/example1** root /home/user/app1/public } server {listen 80 server_name **dev.example.com/example2** root /home/user/app2/public } 我尝试使用位置指令,但没有成功。 我甚至不确定这是否可能。 任何帮助将不胜感激。 谢谢。 以下是我的nginx.conf设置 server { listen 80; server_name dev.example.com; location = /app1/ { root /home/rails/app1/public/; passenger_enabled on; rails_env […]