我正在尝试重新编写已批准列表之外的任何子域,即(dev,test,home).domain.com 这是我现在正在与之合作: #rewrite all sub domains if ($host ~* "^([^.]+(\.[^.]+)*)\.domain.com$"){ rewrite ^(.*)$ http://domain.com$1 permanent; break; } 问题是它重写了所有的子域。 我在apache有一个解决scheme,但我有问题转换它。 apache版本: RewriteCond %{HTTP_HOST} !^(dev|test|local\.blog)\.domain\.me$ [NC] 更新: server { listen 80; server_name *.domain.com domain.com; root /srv/www/www.domain.com; access_log /srv/logs/www_domain.com.access; error_log /srv/logs/www_domain.com.error error; error_page 400 401 402 403 404 500 502 503 504 /error.htm; location /error.htm { internal; } # […]
对了,我刚刚问过关于nginx的最近几个问题,这只是我的头脑。 我已经使用fastcgi_php启用PHP,但是,当我访问一个PHP文件时,它工作得很好,例如 http://domain.com/info.php (适用于var/www/domain.com/www/info.php ) 其中包括phpinfo()和nginx抛出404错误…如果我访问一个正常的文件,例如 http://domain.com/index.html 这似乎很好…怎么nginx不会处理PHP文件? 这是etc/nginx/sites-enabled/domain.com 。 server { listen 80; server_name domain.com *.domain.com; access_log /var/www/domain.com/logs/nginx_access.log; error_log /var/www/domain.com/logs/nginx_error.log; root /var/www/domain.com/www/; location / { index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } # deny access to .htaccess files, if Apache's document root # […]
当用户注册到我的网站时,从我的服务器到我们的第三方SMTP提供商的连接非常糟糕,应用程序需要几秒钟到几分钟才能连接。 当它试图连接和发送时,用户被迫在那里等待,有时他们会放弃并离开网站。 这是可怕的用户体验。 什么是使这看起来是瞬间的好方法(不得不托pipe我们自己的邮件服务器在这一点上是不是一个选项)? 一些方法来执行这个在后台? 也许使用某种types的排队机制? 我在CentOS 5 x64机器上使用LNAMP堆栈。 应用程序正在使用CodeIgniter。 编辑: 看来使用本地邮件服务器作为中继是一个常见的解决scheme。 但是,如何使用这种方法logging或追踪电子邮件是否正确传递? 旁注:一些ESP为电子邮件传递提供了一个REST API(我们也是这样做的)。 我们目前使用SMTP而不是他们的REST API。
我目前有我的video页面的URL重写如此 rewrite ^/watch/(.*) /video.php?vid_id=$1 last; 这使得URL看起来像 www.site.com/watch/123456 代替 www.site.com/video.php?vid_id=123456 我希望能够像这样在URL中添加标题,而不会影响上述URL的位置和当前行为 www.site.com/watch/123456/vid-title 然而,我也希望能够继续使用www.site.com/watch/123456或www.site.com/watch/123456/来看我的video,因此相当于我的原始url(具有灵活性URL)。 有谁知道如何与NGINX做到这一点? 我需要多次重写吗? 我尝试过多次重写的组合,但没有成功。 我已经看到它在很多网站上完成,但不知道他们是如何完成的。
我将/example.php?var=valueredirect到/index.htm如下所示: rewrite /example.php?var=value / permanent; 但是,浏览器在这里打印最终的uri: domain.com/?var=value 我怎样才能有一个干净的乌里呢? domain.com 谢谢。
我想在所有网站上都有这些规则。 我只是不知道该怎么做。 location = /favicon.ico { expires 168h; log_not_found off; access_log off; #return 404; } location = /robots.txt { expires 168h; log_not_found off; access_log off; } location = /someotherlocation.ext { log_not_found off; access_log off; }
我有一个nginx的前端服务器,这服务于静态内容,并通过proxy_pass转发其余。 我有一个与后端服务器的问题,这随机返回403错误,这是在另一个问题 。 对于一个立即的解决scheme,我只想通过如果Apache返回200,我现在有: /etc/nginx/conf.d/upstreams upstream balanced { server 10.15.1.10:80; server 10.15.1.11:80; server 10.15.1.12:80; } 而在虚拟中: server { access_log /var/log/nginx/myweb.access.log main buffer=32k; error_log /var/log/nginx/myweb.error.log info; #expires 31d; #limit_conn gulag 5; listen 80; # rcvbuf=64k backlog=128; server_name myweb.com www.myweb.com; include /etc/nginx/proxy_params; location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 30d; root /srv/www/myweb/httpdocs; } location / { proxy_pass […]
怀疑可能是完全不准确的,但我的直觉告诉我,在同一个Apache服务器(相同的IP)上运行多个<VirtualHost>ServerName site.domain […]</VirtualHost> -statements意味着某处必须是“匹配”制作。 我们来看看两个假设的情况。 假设我们有: 1个虚拟主机接收1.000个页面请求的服务器 具有10个虚拟主机的服务器每个都接收100个页面请求 在这两种情况下,req.s的总数是1.000。 所以,我的问题是 – 第二种情况下的服务器是否会提供更慢的响应? 这个问题当然不限于Apache,但是可以用nginx来表示,而不是使用server{}语句。
Ubuntu似乎有1024个打开的文件描述符的默认限制。 Nginx正在抱怨一些负载testing,我正在做的最大数量已经达到和服务器基本上是无法使用的。 我正在testing一个服务,将不得不维持每秒2-3K的请求,并且每个请求将被保存到一个文件(或潜在的另一个存储如mysql等)。这些文件将在服务器x分钟内被清除。 如果我运行ulimit -n并增加打开的文件描述符的数量,这会产生什么影响? 它是否使得o / s留出更多的内存来pipe理文件描述符,还是有更多的内存?
显然,应该有一个停机页面位于Web服务器专门用于停机页面。 该页面应该包含一个简短的描述,并传输HTTP状态503。 假设我们有负载平衡器和几个Web服务器。 停机时间应该在两种情况下开始: 计划的技术支持 真正的停机时间,Web服务器不可用 其中一个解决scheme是从负载平衡器进行redirect。 如果一个Web服务器closures或不可用,并且将所有请求发送到另一个服务器上的停机时间页面,现在该如何运行HAProxy?