Linux
非標準埠上的 Nginx vhost 不起作用
我正在嘗試使用 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 配置啟動。