配置虚拟主机(Linux上对于Nginx的应用)

什么是虚拟主机

虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。

配置虚拟主机(Linux上对于Nginx的应用)_第1张图片
通过nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置
1、基于ip的虚拟主机
2、基于域名的虚拟主机
3、基于端口的虚拟主机


nginx配置文件的结构

http{
   .......
   server{
    .......
    }
   server{
    .......
    }

}

每个server就是一个虚拟主机

基于ip的虚拟主机配置
Linux操作系统允许添加IP别名,IP别名就是在一块物理网卡上绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机

需求
一台nginx服务器绑定两个ip:192.168.1.2、192.168.1.3
访问不同的ip请求不同的html目录,即:
访问http://192.168.1.2将访问“html2”目录下的html网页
访问http://192.168.1.3将访问“html3”目录下的html网页

准备环境
创建192.168.1.121虚拟机,保证本地电脑和虚拟网络通畅。
在192.168.1.121上安装nginx
Nginx安装教程

html目录创建

将原来nginx的html目录拷贝两个目录 “html2”和“html3”,为了方便测试需要修改每个目录下的index.html内容使之个性化。
cd /usr/local/nginx
配置虚拟主机(Linux上对于Nginx的应用)_第2张图片

绑定多ip

方法一:
使用标准的网络配置工具(比如ifconfig和route命令)添加lP别名:

当前ip配置情况:
配置虚拟主机(Linux上对于Nginx的应用)_第3张图片

在eth0网卡再绑定一个ip:192.168.101.103
配置虚拟主机(Linux上对于Nginx的应用)_第4张图片

/sbin/ifconfig eth0:1 192.168.101.135 broadcast 192.168.101.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.101.136 dev eth0:1

方法二:
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1

配置虚拟主机(Linux上对于Nginx的应用)_第5张图片
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.135

这里写图片描述
其他项不用修改
2、重启系统
配置虚拟主机(Linux上对于Nginx的应用)_第6张图片

配置虚拟主机

配置虚拟主机(Linux上对于Nginx的应用)_第7张图片

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    #配置虚拟主机
    server {
    #监听的ip和端口,配置80
        listen       80;
    #虚拟主机名称这里配置ip地址
        server_name  192.168.101.3;
    #所有的请求都以/开始,所有的请求都可以匹配此location
        location / {
        #使用root指令指定虚拟主机目录即网页存放目录
        #比如访问http://ip/test.html将找到/usr/local/html3/test.html
        #比如访问http://ip/item/test.html将找到/usr/local/html3/item/test.html

            root   /usr/local/nginx/html80;
        #指定欢迎页面,按从左到右顺序查找
            index  index.html index.htm;
        }

    }
    #配置虚拟主机
    server {
        listen       8080;
        server_name  192.168.101.3;

        location / {
            root   /usr/local/nginx/html8080;
            index  index.html index.htm;
        }

    }

修改/usr/local/nginx/conf/nginx.conf文件,添加两个虚拟主机,如下:
配置虚拟主机(Linux上对于Nginx的应用)_第8张图片

修改html特征:
配置虚拟主机(Linux上对于Nginx的应用)_第9张图片

重启:
这里写图片描述

完成:
配置虚拟主机(Linux上对于Nginx的应用)_第10张图片

你可能感兴趣的:(Nginx)