前言
有时候我们想在一台nginx上配置多个站点,比如我们将www.webA.com以及www.webB.com同时部署到一台nginx上,但是我们不能在nginx目录里同时运行两个不同的站点。此时,我们可以利用虚拟目录,比如,我们将站点A放在 /www/webA下,将站点B放在/www/webB下,具体配置过程如下:
我们的nginx 配置文件在 /etc/nginx下,我们在/etc/nginx 下新建一个 vhost文件夹,此文件夹我们用来放置站点的配置文件。
1. 新建vhost文件夹
mkdir /etc/nginx/vhost
2. 进入到vhost目录
cd vhost
3. 新建站点A的配置文件
vim confA.conf
在站点A配置文件里写
server {
listen 80; # 站点监听端口
server_name www.webA.com ; # 站点域名
root /www/webA; # 站点存放目录
index index.html index.htm index.php; #站点默认导航
}
4. 新建站点B的配置文件
vim confB.conf
站点B的配置文件和A是一样的,出了root站点目录以及站点域名不同,各自使用各自的
server {
listen 80; # 站点监听端口
server_name www.webB.com ; # 站点域名
root /www/webB; # 站点存放目录
index index.html index.htm index.php; #站点默认导航
}
5. 配置nginx主配置文件
nginx配置文件在 /etc/nginx/nginx.conf中
vim /etc/nginx/nginx.conf
在nginx配置文件http块中,加入下面一句
http {
...
include /etc/nginx/vhost/*.conf; 加入的语句,
#表示包含我们刚才建立的配置文件
}
6. 检查nginx配置文件是否正确
nginx -t #如果有问题则定位出现在问题出现在哪里,没问题就继续后面的操作。
7. 重启nginx
nginx -s reload #此方式是优雅的重启nginx
8. 打开浏览器,输入站点A和B进行查看效果
关于我自己
-
一个正派但不正经的程序员
-
18年计算机专业硕士毕业生,腾讯SNG部门实习生,现加盟快手科技 ,后端研发工程师一枚
-
喜欢技术,喜欢互联网
-
民遥控 ,赵雷、陈粒、宋冬野
-
公众号:编程美学,时不时写篇文章,偶尔数羊,其实说到底,只是想和你聊聊