Nginx
nginx 忽略了我的包含指令?
我目前正在從 Apache 遷移到 nginx。我有幾個域將託管在具有一個 IP 地址的同一台機器上。雖然我已經配置
nginx --prefix=/my/path
它似乎nginx
不包括我的虛擬主機配置文件。我目前的 nginx.conf 如下所示:
http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; # Don't show server version. server_tokens off; index index.html index.htm index.php; # Default server server { listen 81 default; server_name _; access_log logs/access.log main; server_name_in_redirect off; root html; } ## Load virtual host conf files. ## include conf/vhosts/*/*.conf; # config/vhosts/domain.com/domain.conf ; subodmain.conf and etc }
這是我在 config/vhosts/domain.com/domain.com.conf 中唯一的虛擬主機配置:
server { listen 81; server_name domain.com; access_log logs/domain.com.access.log main; root "/www/domain.com/htdocs"; index index.html; }
我還嘗試設置配置文件的絕對路徑,但它也不起作用。所有請求都登陸預設伺服器。但是,如果您將 的內容插入
conf/vhosts/domain.com/domain.com.conf
到conf/nginx.conf http{}
域中就可以了。我已經嘗試了幾個小時來解決這個問題,但我想我做錯了什麼?
正如文件所述。
從 0.6.7 版本開始,路徑是相對於 nginx 配置文件 nginx.conf 的目錄,而不是相對於 nginx 前綴目錄。
如果您驗證路徑是相對於 nginx 配置文件的,那麼它仍然無法工作嗎?
到目前為止,上面的答案是錯誤的。根據文件:
nginx 只使用絕對路徑,配置文件中的所有相對路徑都是相對於 –prefix==PATH 的。