Linux

非標準埠上的 Nginx vhost 不起作用

  • June 14, 2012

我正在嘗試使用 varnish 作為 Nginx 的前端代理。

當我嘗試使用以下內容作為我的虛擬主機配置時:

server {
 listen 8080;
 server_name playwithbits.com  www.playwithbits.com;

 # limit_conn limit_per_ip 16;
 # ssi  on;

 access_log /home/nginx/domains/playwithbits/log/access.log combined buffer=32k;
 error_log /home/nginx/domains/playwithbits/log/error.log;

 root /home/nginx/domains/playwithbits/public;

 location / {

 # Enables directory listings when index file not found
 #autoindex  on;

 # Shows file listing times as local time
 #autoindex_localtime on;

 # Enable for vBulletin usage WITHOUT vbSEO installed
 #try_files             / /index.php;

 }

 include /usr/local/nginx/conf/staticfiles.conf;
 include /usr/local/nginx/conf/php.conf;
 include /usr/local/nginx/conf/drop.conf;
 #include /usr/local/nginx/conf/errorpage.conf;
}

但是,當我指定listen 8080並重定向到預設的 nginx Web 根目錄(如 中指定virtual.conf)時,這將停止工作,如果我刪除該行,它會按預期工作並重定向到正確的目錄。

有誰知道為什麼會發生這種情況以及如何為我的虛擬主機設置一個非標準埠,以便清漆可以在埠 80 上偵聽。

問題不是 Nginx,而是 Wordpress。顯然 WordPress 會重定向自己,您必須將埠副檔名放在WordPress Address (URL)儀表板中的設置上,如下所示:

http://playwithbits.com:8080

它可以工作,否則 WordPress 會重定向到埠 80,從而導致我的預設 Nginx 配置啟動。

引用自:https://serverfault.com/questions/398490