nginx主配置文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
access_log /logs/access.log;
error_log /logs/error.log;
server {
listen 80;
}
include /usr/local/nginx/conf/cond/*.conf;
include mime.types;
#default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
}
在/usr/local/nginx/conf/cond/文件下有个子配置文件 submodule.conf:
server {
listen 80;
server_name localhost;
error_log /logs/submodule/error.log;
access_log /logs/submodule/access.log;
location ~ ^/submodule.html {
root /opt/app/code; # 输出测试
}
}
文件夹 /opt/app/code下有个submodule.html的文件,当我访问 服务器host/submodule.html的时候,总是去 /usr/local/nginx/html文件夹下去找submodule.html文件,而不是去子配置的root /opt/app/code文件夹下去找,这是由于nginx如果有多个Server_name使用了相同的值,Nginx会按照读取顺序进行优先处理,所以,会从主配置文件 的路径下去找。
这是我把 子配置文件 submodule.conf文件的servername改成 hosts 文件映射的 名字就可以了。