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

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

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

最近一直在烦恼,一台云服务器怎么配置两个网站呢?我在本地的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

完美的解决了我的需求。


相关文章

thinkphp ajax jq 二级联动笔记

折腾了十来个小时终于弄出来了,网上有很多例子,但是用来进入项目使用,总是出错,所以在此记录一下,以便以后能用到。需求:在后台的添加商品中,有两个选择框,第一个是栏目选择,第二个是品牌,功能:选择第一个...

chm索引不能使用问题

想查查mysql的一些编程需要的函数,但是在win7 下chm索引用不了,上网查了很久,是因为某些全文的索引没有打开。在运行那里输入:regsvr32 hhctrl.ocxregsvr32 itss....

iview使用v-for循环数据的更新问题。

iview使用v-for循环数据的更新问题。

最近在接数据中,遇到了一个v-for循环数组获取数据,但是这个数组可能会被操作,所以这个数组要实时更新。用了vue的双向绑定,但是不好用,经过查资料,发现:由于 JavaScript 的限制, Vue...

apache设置缓存

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

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

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

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

微擎模块更新问题!

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

发表评论    

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