如何基于域名在 nginx中配置虚拟主机

2020年5月17日技巧分享评论74,028字数 1248阅读4分9秒阅读模式

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

[root@localhost data]# tree /data
/data
└── wwwroot
    ├── www.1.com
    │   └── index.html
    └── www.2.com
        └── 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.conf 
server{
    listen 80;
    server_name 1.com www.1.com;
    index index.html;
    root /data/wwwroot/www.1.com;
}
[root@localhost nginx]# vim /usr/local/nginx/conf/vhost/www.2.com.conf  
server{
    listen 80;
    server_name 2.com www.2.com;
    index index.html;
    root /data/wwwroot/www.2.com;
}
[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 /usr/local/nginx/conf/nginx.conf test is successful

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

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

Apache虚拟主机配置文件httpd.conf详解 前端开发

Apache虚拟主机配置文件httpd.conf详解

教程是在本地Windows系统上,使用XAMPP搭建的服务器环境做的示范。 原理都是类似的,不管是Nginx或者Linux服务器,都可以参考这个进行修改。 搭建了服务器环境,上线了网站,却发现默认地址...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定