80端口(通过多域名的方式)配置多站点的方法

在部署一些项目时,为了满足某些第三方服务的要求(微信)或者其他因素,需要使用80端口;为了节约服务器的空间,提高使用率,可能会在同一台服务器,部署多个项目。
SO,问题来了:如果部署同一台服务器的多个项目都要求使用80端口该怎么办?
使用ip访问的话,肯定不行了,因为一台服务器仅有一个对应的IP,但是域名不同,多个域名可以都解析为一个ip。SO, 解决问题的思路来了,就是通过域名进行多站点部署。
下面介绍一种部署的方法,找到Apache/conf/httpd.conf文件,开启Include conf/vhosts.conf,然后通过vhosts.conf文件进行多站点的部署。


    DocumentRoot "F:\website_one"
    ServerName example1.com.cn
    ServerAlias example1.com.cn
  
    Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  



    DocumentRoot "F:\website_two"
    ServerName example2.com.cn
    ServerAlias example2.com.cn
  
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  




    DocumentRoot "E:\website_three"
    ServerName example3.com.cn
    ServerAlias example3.com.cn
  
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  

通过如上方式即可到达多站点(example1.com.cn, example2.com.cn , example3.com.cn)同时使用80端口的目的。[有个前提是:这些域名必须已经成功解析到该台服务器的ip]
2、另外一个问题:
如果通过多域名配置多站点,总是进入第一个站点,那么需要在配置前添加一个设置:

NameVirtualHost *:80

如下中的两行(为了记录日志):

ErrorLog "logs/xiangmu4-error.log"
CustomLog "logs/xiangmu4-access.log" common

完整配置参考:


    DocumentRoot "E:/xiangmu4"
    ServerName example4.com.cn
    DirectoryIndex index.html index.php
    
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    
    ErrorLog "logs/xiangmu4-error.log"
    CustomLog "logs/xiangmu4-access.log" common

你可能感兴趣的:(80端口(通过多域名的方式)配置多站点的方法)