我目前正在从 Apache 迁移到 nginx。我有几个域将托管在同一台机器上,使用一个 IP 地址。虽然我已经配置了,但nginx --prefix=/my/path
似乎nginx
不包括我的 vhost 配置文件。
我当前的 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 中唯一的 vhost 配置:
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{}
,效果就很好了。
我已经尝试弄清楚这个问题几个小时了,但我想我做错了什么?
答案1
正如文档所述。
从 0.6.7 版本开始,路径是相对于 nginx 配置文件 nginx.conf 的目录,而不是相对于 nginx 前缀目录。
如果您验证该路径是相对于 nginx 配置文件的,那么它仍然不起作用吗?