首页 > 文章列表 > nginx基于端口如何配置虚拟主机

nginx基于端口如何配置虚拟主机

nginx 虚拟主机
267 2023-05-18

一、创建网站目录及文件:

[root@localhost data]# tree /data
/data
└── wwwroot
    ├── www.1.com_8080
    │   └── index.html
    └── www.1.com_8081
        └── index.html

二、修改nginx.conf:

[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    include vhost/*.conf;   #vhost目录下会包含所有的虚拟主机的配置文件
}

三、创建虚拟主机的配置文件目录:

[root@localhost conf]mkdir /usr/local/nginx/conf/vhost

四、创建虚拟主机配置文件:

[root@localhost nginx]# vim /usr/local/nginx/conf/vhost/www.1.com.8080.conf 
server{
    listen 8080;
    server_name 1.com www.1.com;
    index index.html;
    root /data/wwwroot/www.1.com_8080;
}
[root@localhost nginx]# vim /usr/local/nginx/conf/vhost/www.1.com.8081.conf  
server{
    listen 8081;
    server_name 1.com www.1.com;
    index index.html;
    root /data/wwwroot/www.1.com_8081;
}
[root@localhost nginx]# vim /usr/local/nginx/conf/vhost/default.conf          
server{
    listen 80 default_server;  #使用default_server指定nginx的默认虚拟主机
    deny all;
}

若使用其他域名来访问虚拟主机时,会匹配到默认虚拟主机,该配置会拒绝未定义的域名的虚拟主机。若不配置该选项,默认排在最前边的server会成为默认虚拟主机。

五、测试配置文件是否存在问题:

[root@localhost root]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx -t 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file

六、当配置文件修改时,可以使用一下命令重新加载配置文件

[root@localhost sbin]# ./nginx -s reload