今天安装Nginx时,创建虚拟主机配置,发现不生效,始终是读取Nginx的默认配置文件指定的站点目录,于是将配置文件逐行检查了一遍,发现影响虚拟主机的配置是否生效,受到以下两个因素影响:
1、Nginx的配置文件中,在http模块必须指定包含虚拟主机配置文件路径,本次实例中虚拟主机配置文件在如下:
http {
sendfile on;
keepalive_timeout 65;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf; #指定虚拟主机配置文件路径
2、在Nginx的配置文件中,还有就是默认server模块配置,注意一下其中的listen设置,有些时候yum安装完Nginx,listen字段后面跟着一个default_server;
default_server:表示强制设置只有一个默认server,即不允许设置虚拟主机;
所以如果上述第一个因素确认配置无误,则检查第二个因素的配置是否存在,如果存在default_server,且想要配置虚拟主机,则删除default_server.即可!
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;