一台云服务器配置两个网站

liyuzhao8年前开发项目遇到的问题1762

一台云服务器配置两个网站

最近一直在烦恼,一台云服务器怎么配置两个网站呢?我在本地的win10环境下配置apache的两个虚拟主机和两个ip可以成功的用不同的地址访问到不同的www下的目录。操作如图:

1win下设置多个本地ip

1.png

2:修改win下的hosts文件

C:\Windows\System32\drivers\etc\hosts,如图

2.png

3:修改apache的配置文件,或者修改httpd-vhosts.conf

1,         修改apachehttpd.conf,在httpd.conf末尾增加

<VirtualHost *:80>

   ServerName liyuzhao

   DocumentRoot G:/wamp64/www/cms

   <Directory  "G:/wamp64/www/cms">

            Options +Indexes +Includes +FollowSymLinks +MultiViews

            AllowOverride All

            Require all granted

   </Directory>

</VirtualHost>

<VirtualHost *:80>

   ServerName liyuzhao11

   DocumentRoot G:/wamp64/www/wangyi

   <Directory  "G:/wamp64/www/wangyi">

            Options +Indexes +Includes +FollowSymLinks +MultiViews

            AllowOverride All

            Require all granted

   </Directory>

</VirtualHost>

注意:cms是我的一个网址目录

重启apache,在浏览器上输入liyuzhao/或者liyuzhao11/即可访问到www下不同的网站目录。

经过以上的实验,问题又来了,我在阿里云上有个服务器,操作系统是centos7.1,里面放着我的博客网站,最近我想多放一个网站上去,但是又不想干掉我的博客网站,那怎么办呢?转换一下,需求就是一台服务器,可以让客户访问不同的网站。比如我输入liyuzhao.cn就访问我的博客,输入vr26.top就能访问到我的另一个网站。并且是在同一台云服务器。

明白了需求,开始动手了。

目前我现实了一种方法,那就是采用不同端口来进行访问,比如,liyuzhao.cn访问到我的博客,vr26.top:8080访问到我的另一个网站。操作如下:

1:首先编辑httpd.conf   vi /etc/httpd/conf/httpd.conf

2:在末尾增加

<VirtualHost *:8080>

        ServerName liyuzhao:8080

        DocumentRoot /var/www/html/index1.php

        <Directory  "/var/www/html/index1.php">

                Options +Indexes +Includes +FollowSymLinks +MultiViews

                AllowOverride All

                Require all granted

        </Directory>

</VirtualHost>

注意:上面的index1.php是我的一个测试文件,liyuzhao:8080改为*

3:在httpd.conf搜索Listen 80

在下面增加一行Listen 8080

4:保存重启apache  systemctl start httpd.service

5:打开你的阿里云服务器控制台,配置安全组,如图

3.png

6:解析域名,绑定你的外网ip绑定到vr26.top  这个是我的域名~~~

7:输入liyuzhao.cn即可访问到我的博客,输入liyuzhao.cn:8080或者vr26.top:8080即可访问到index1.php

8:相信到这里你们应该懂了,把index1.php改为你的网站目录即可。

上面的这个方法是修改端口来实现一台云服务器通过两个网址访问到两个网站了。但是还不满足我的需求,我的需求是输入liyuzhao.cn就访问到博客,输入vr26.top就访问到另一个网站,直接默认80端口就能访问。

相信大家都了解域名解析吧,外网ip可以绑定多个域名,所以只有一个外网ip的话是实现不了上面的需求,因为不管输入liyuzhao.cn或者vr26.top都只能访问到我的同一个外网地址,这个外网地址在apachehttpd.conf配置里面设置为默认访问到/var/www/html的目录,所以不管怎么做,用默认的80端口,都只能访问一个web目录。虚拟主机的配置是无法实现这个需求。嘎嘎,那我们就用php代码来实现。

html目录里面新建一个index.php,

输入:

<?php

//echo "<script>";

//echo "window.location.href='./boke/index.php/home/Xm/index' ";

//echo "</script>";

   $host = $_SERVER['HTTP_HOST']; //获取url地址

   $lyz_url = "www.liyuzhao.cn";

   $lyz_url1 = "http://www.liyuzhao.cn";

   $vr666_url = "www.vr666.ren";

   $vr666_url1 = "http://www.vr666.ren"; //还有另一种可能

   //url进行判断

   if($host == $lyz_url || $host == $lyz_url1){

       header( "Location: /boke/index.php/home/Xm/index" );  //跳转到我的博客首页面

   }elseif($host == $vr666_url || $host == vr666_url1){

       header( "Location: /index1.php" );  //跳转到我的另一个网站首页,这个是我临时测试创建的

   }

   //TODO 其它的域名判断

?>

 

输入liyuzhao.cn即可访问到我的博客,输入vr666.ren即可访问到index1.php

完美的解决了我的需求。


相关文章

微擎模块更新问题!

最近公司用微擎来进行公众号开发,由我负责一个模块进行开发,里面出现了一些比较坑的问题,所以记录一下。我们公司这边有一个测试环境,我每次都是在测试环境测试通过后就git到码云中去。然后深圳那边的公司的人...

apache设置缓存

在配置文件输入ExpiresActive On    ExpiresDefault “access plus 30 days” 欢迎大家来校园淘物站的论坛玩玩哦...

php+redis高并发秒杀方案(个人见解)

需求:1:一个商品,库存只有100。2:网站很出名,估计并发量为50W。3:实现秒杀。 分析:1:库存只有100,只能操作更新db库存 100次2:访问量大,采用redis来做并发处理3:设...

使用apache2.4以上外网访问不到的问题解决

找到加入一行Require all granted即可注意:每个人的安装路径都不一样,要看准安装路径来查找...

mysql导入数据问题

最近用mysql5.7,数据弄好了导入到服务器上,却频繁的出错。具体分析了下错误,是因为服务器上的mysql版本比较低,有些功能不支持,我数据出错的主要原因是有些字段用了datatime类型,用了个自...

iview使用vue-quill-editor自定义上传图片的问题解决。

iview使用vue-quill-editor自定义上传图片的问题解决。

最近虽然辞职了,但是以前的老板外包给我以前负责的项目,想让我做好社群的独立后台,所以打算花二十天做完。“企动社群”的后台接口我已经写完,页面采用iview,数据还是由我来接,真是件麻烦的事,不过对于这...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。