在部署环境的时候,有时候会引用到虚拟主机的概念,什么是虚拟主机呢,博主之前一直把虚拟主机的概念没搞清楚,导致在部署的时候,一直动不动就404 ,或者500,或者服务器不通
所以,什么是虚拟主机呢? 虚拟主机概念大致同虚拟机的概念。
如果你有两个不同域名的网站,但是你只有一台服务器,这时候怎么办?其实利用nginx或者apache都可以帮你用一台机器来模拟多台机器作为服务器提供服务。
虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录
nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可
先看一个最简单的虚拟主机配置示例
1server { 2 listen 80; 3server_name a.test.com; 4 5location / { 6 index index.html; 7 root /home/www/host_a/; 8 } 9} 10 11listen 80; 12指定这个虚拟主机监听的是80端口 13server_name a.test.com; 指定这个虚拟主机名为a.test.com,当用户访问a.test.com时,就有这个虚机主机进行处理。
多台虚拟主机
(1)对两个域名配置相应的虚拟主机,指定不同的目录
1a.test.com -> /home/www/a 2b.test.com -> /home/www/b 3 4配置 5server { 6 listen 80; 7 server_name a.test.com; 8 9#开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启 10 autoindex on; 11 index index.html; 12 root /home/www/a/; 13 } 14 15server { 16 listen 80; 17 server_name b.test.com; 18 19 index index.html; 20 root /home/www/b/; 21 22#禁止对self目录的访问 23 location /(self)/ { 24 deny all; 25 } 26 }