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