V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangzhangwei
V2EX  ›  站长

一个公网 IP 多个网站部署方法(包括 apache ngix)

  •  
  •   wangzhangwei · 2016-10-11 11:59:38 +08:00 · 3061 次点击
    这是一个创建于 2957 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Apache 配置虚拟主机三种方式:(推荐第二种) 一、基于 IP

    1. 假设服务器有个 IP 地址为 192.168.1.10 ,使用 ifconfig 在同一个网络接口 eth0 上绑定 3 个 IP :

    [root@localhost root]# ifconfig eth0:1 192.168.1.11

    [root@localhost root]# ifconfig eth0:2 192.168.1.12

    [root@localhost root]# ifconfig eth0:3 192.168.1.13

    1. 修改 hosts 文件,添加三个域名与之一一对应:

    192.168.1.11 www.test1.com

    192.168.1.12 www.test2.com

    192.168.1.13 www.test3.com

    1. 建立虚拟主机存放网页的根目录,如在 /www 目录下建立 test1 、 test2 、 test3 文件夹,其中分别存放 1.html 、 2.html 、 3.html

    /www/test1/1.html

    /www/test2/2.html

    /www/test3/3.html

    1. 在 httpd.conf 中将附加配置文件 httpd-vhosts.conf 包含进来,接着在 httpd-vhosts.conf 中写入如下配置:

    <VirtualHost 192.168.1.11:80>

    ServerName www.test1.com

    DocumentRoot /www/test1/

    </virtualhost>

    <VirtualHost 192.168.1.12:80>

    ServerName www.test1.com

    DocumentRoot /www/test2/

    </virtualhost>

    <VirtualHost 192.168.1.13:80>

    ServerName www.test1.com

    DocumentRoot /www/test3/

    </virtualhost>
    1. 测试下每个虚拟主机,分别访问 www.test1.comwww.test2.comwww.test3.com

    二、基于主机名

    1. 设置域名映射同一个 IP ,修改 hosts :

    192.168.1.10 www.test1.com

    192.168.1.10 www.test2.com

    192.168.1.10 www.test3.com

    1. 跟上面一样,建立虚拟主机存放网页的根目录

    /www/test1/1.html

    /www/test2/2.html

    /www/test3/3.html

    1. 在 httpd.conf 中将附加配置文件 httpd-vhosts.conf 包含进来,接着在 httpd-vhosts.conf 中写入如下配置:

    NameVirtualHost *:80 <VirtualHost *:80>

    ServerName *

    DocumentRoot /www/

    </virtualhost> <virtualhost *:80="">

    ServerName www.test1.com

    DocumentRoot /www/test1/

    </virtualhost>

    <VirtualHost *:80="">    ServerName www.test2.com

    DocumentRoot /www/test2/

    </virtualhost> <virtualhost *:80="">    ServerName www.test3.com

    DocumentRoot /www/test3/

    </virtualhost>
    1. 测试下每个虚拟主机,分别访问 www.test1.comwww.test2.comwww.test3.com

    三、基于端口

    1. 修改配置文件   将原来的      Listen 80 改为    Listen 80    Listen 8080

    2. 更改虚拟主机设置:

    <VirtualHost 192.168.1.10:80>

    DocumentRoot /var/www/test1/
    
    ServerName www.test1.com
    
    </virtualhost>

    <VirtualHost 192.168.1.10:8080>

    DocumentRoot /var/www/test2
    
    ServerName www.test2.com
    
    </virtualhost>

    Ngix 配置方法:( ngix 配置简单 并发数高)

    server { listen 80;

        server_name  www.test1.com;
    

    root /data/www/html/www.test1.com;

        index index.html index.htm index.php;
    

    } server { listen 80;

        server_name  www.test2.com;
    

    root /data/www/html/www.test2.com;

        index index.html index.htm index.php;
    

    }

    4 条回复    2016-10-11 12:11:16 +08:00
    imlonghao673
        1
    imlonghao673  
       2016-10-11 12:03:12 +08:00 via Android
    楼主你想干嘛?
    wangzhangwei
        2
    wangzhangwei  
    OP
       2016-10-11 12:05:13 +08:00
    @imlonghao673 分享
    EXE
        3
    EXE  
       2016-10-11 12:09:44 +08:00
    还是 nginx 更方便一些
    wangzhangwei
        4
    wangzhangwei  
    OP
       2016-10-11 12:11:16 +08:00
    @EXE 是的, apache 配置麻烦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5754 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:23 · PVG 14:23 · LAX 22:23 · JFK 01:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.