Nginx 和Apache 中的虚拟主机的概念

在部署环境的时候,有时候会引用到虚拟主机的概念,什么是虚拟主机呢,博主之前一直把虚拟主机的概念没搞清楚,导致在部署的时候,一直动不动就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;
}
}
上一篇:MYSQL中创建存储过程实现向表中循环插入数据


下一篇:室内定位系列(一)——WiFi位置指纹(译)