对于Nginx而言,每一个虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。
虚拟主机类型
Nginx 支持三种类型的虚拟主机配置:
- 基于 IP 的虚拟主机
- 基于域名的虚拟主机
- 基于端口的虚拟主机
基于IP虚拟主机
1. 增加主机IP
目标主机需要主机配备 2 个以上 ip,配置 ip 不是本文重点,这里不展开。
2. 创建站点目录和网页
[root@nginx ~]# mkdir -p /home/wwwroot/ipsite01/ [root@nginx ~]# mkdir -p /home/wwwroot/ipsite02/ [root@nginx ~]# echo 'ipsite01' > /home/wwwroot/ipsite01/index.html [root@nginx ~]# echo 'ipsite02' > /home/wwwroot/ipsite02/index.html
3. nginx 配置虚拟主机
[root@nginx ~]# vi /usr/local/nginx/conf/ipsite.conf
#添加如下内容
server {
    listen  80;			#监听端口
    server_name  192.168.1.1;	#配置虚拟主机名和IP
    location / {
        root /home/wwwroot/ipsite01/;		#请求匹配路径
        index  index.html;			#指定主页
        access_log  /home/wwwlog/ipsite01.access.log  main;
        error_log   /home/wwwlog/ipsite01.error.log  warn;
    }
}
server {
    listen  80;
    server_name  192.168.1.1;
    location / {
        root /home/wwwroot/ipsite02/;		#请求匹配路径 
        index  index.html;
        access_log  /home/wwwlog/ipsite02.access.log  main;
        error_log   /home/wwwlog/ipsite02.error.log  warn;
    }
}
4. 检查配置文件是否正确并重启加载配置生效
[root@nginx ~]# nginx -t #检查配置文件 [root@nginx ~]# nginx -s reload #重载配置文件
基于域名虚拟主机
1. 创建站点目录和网页
[root@nginx ~]# mkdir -p /home/wwwroot/domainsite01/ [root@nginx ~]# mkdir -p /home/wwwroot/domainsite02/ [root@nginx ~]# echo 'domainsite01' > /home/wwwroot/domainsite01/index.html [root@nginx ~]# echo 'domainsite02' > /home/wwwroot/domainsite02/index.html
2. nginx 配置虚拟主机
[root@nginx ~]# vi /usr/local/nginx/conf/domainsite.conf
#添加如下内容
server {
    listen  80;         #监听端口
    server_name  www.runoops.lh; #配置虚拟主机域名
    location / {
        root /home/wwwroot/domainsite01/;       #请求匹配路径
        index  index.html;          #指定主页
        access_log  /home/wwwlog/domainsite01.access.log  main;
        error_log   /home/wwwlog/domainsite01.error.log  warn;
    }
}
server {
    listen  80;
    server_name  m.runoops.lh;
    location / {
        root /home/wwwroot/domainsite02/;       #请求匹配路径 
        index  index.html;
        access_log  /home/wwwlog/domainsite02.access.log  main;
        error_log   /home/wwwlog/domainsite02.error.log  warn;
    }
}3. 检查配置文件是否正确并重启加载配置生效
[root@nginx ~]# nginx -t #检查配置文件 [root@nginx ~]# nginx -s reload #重载配置文件
基于端口虚拟主机
1. 创建站点目录和网页
[root@nginx ~]# mkdir -p /home/wwwroot/portsite01/ [root@nginx ~]# mkdir -p /home/wwwroot/portsite02/ [root@nginx ~]# echo 'portsite01' > /home/wwwroot/portsite01/index.html [root@nginx ~]# echo 'portsite02' > /home/wwwroot/portsite02/index.html
2. nginx 配置虚拟主机
[root@nginx ~]# vi /usr/local/nginx/conf/portsite.conf
#添加如下内容
server {
    listen  8080;           #监听端口
    server_name  www.runoops.lh; #配置虚拟主机域名
    location / {
        root /home/wwwroot/portsite01/;     #请求匹配路径
        index  index.html;          #指定主页
        access_log  /home/wwwlog/portsite01.access.log  main;
        error_log   /home/wwwlog/portsite01.error.log  warn;
    }
}
server {
    listen  8090;
    server_name www.runoops.lh;
    location / {
        root /home/wwwroot/portsite02/;     #请求匹配路径 
        index  index.html;
        access_log  /home/wwwlog/portsite02.access.log  main;
        error_log   /home/wwwlog/portsite02.error.log  warn;
    }
}3. 检查配置文件是否正确并重启加载配置生效
[root@nginx ~]# nginx -t #检查配置文件 [root@nginx ~]# nginx -s reload #重载配置文件
 自学教程
自学教程
分享笔记