多网站部署到同一台物理服务器,共用80端口的解决方案

我们在实际部署网站系统时,都是要绑定到80端口的,这样用户在访问的时候就可以避免在网站域名后带上端口号了,这是部署网站的基本要求。
根据不同的web服务器环境,我们经常要在同一台物理服务器上部署多个站点,很多情况下,甚至需要在同一台物理服务器上同时部署php网站程序,asp网站程序,java+jsp网站程序。
当然可以选择的web服务器很多,例如 apahce,ngnix,iis等等。Iis服务器可以通过配置来支持php等其它各种脚本语言,所以选择什么web服务器并不是重点,因为我们可以通过扩展让我们的web服务器支持其它各种脚本执行环境。
这里主要解决的是在iis 服务器背景下,如何配置多网站共用80端口。我们以两个python 网站程序和一个php网站程序为例来说明。关于如何配置iis让其支持python和php 程序 大家可以关注我的微信服务号:gohi668 了解。

  1. 预备
    我们首先要准备好经过充分测试的网站程序,这里我有两个python web 程序和一个php web 程序。通过远程桌面连接到阿里云服务器,在服务器的c盘根目录下创建一个文件夹websroot,将我们的两个python web 程序拷贝到该文件夹下:如图中的officalweb和tmart。
    在这里插入图片描述

图1 :python web 网站 目录
登录阿里云控制台-域名 管理模块,按照下图所示配置域名映射:

在这里插入图片描述
图 2 域名映射配置

其中 47.106.142.160 是我的阿里云服务器的外网ip地址,我的主域名是meimichao.com
完整的域名是由主机记录+主域名构成的,这样我们就配置了三个域名:booksiss.meimichao.com,tmart.meimichao.com,www.meimichao.com。当我们在cmd 命令行中ping 这三个域名的时候,返回的ip地址都是47.106.142.160。说明三个域名都是指向了我的阿里云服务器。

  1. 配置iis 域名绑定
    在iis 中新建一个网站,物理路径指向我们在预备工作中图1 中的officalweb,ip 地址选择 “全部未分配”,端口设置成80,主机名处填写我们在预备工作中所配置的域名,我们这里使用www.meimichao.com 这个域名。如图 3.

在这里插入图片描述
图 3 iis 网站设置

经过这一步的配置以后,当我们在浏览器中输入域名www.meimichao.com的时候,将会打开我们的officalweb这个网站。
按照同样的步骤,配置网站tmart,如图 4.

在这里插入图片描述
图 4 tmart 网站配置

两个网站都是80端口,他们之间是通过主机名区分的,当我们访问www.meimichao.com的时候,iis会路由到officalweb网站,当我们访问tmart.meimichao.com的时候,iis会将请求路由到tmart 网站。

  1. 通过请求转发配置php web网站
    前面我们配置的都是同一类型的python web网站,直接在iis里面配置,而且可以共用80端口。但是,如果我们还有一个php网站呢,当然你可以通过扩展iis 支持php来直接在iis 里面配置php网站,同样可以让php web网站和python web 网站一样共用80端口,具体配置方法可以关注微信服务号:gohi6668 详细了解。
    我们这里教大家另外一种方法。
    因为大部分的同学习惯使用wamp,lamp或者phpnow这样的套件来运行php网站,所以我们这里来看看如何将运行在这些环境的php web 程序和 iis 共用80端口,换句话说,也就是如何在一个已经配置了多个iis 80 端口 网站的服务器上,再部署一个运行在wamp,lamp或者phpnow环境中的php web 网站,而且同样可以直接通过80端口访问。
    我们以phpnow 为例。
    首先下载phpnow 1.5.6 上传到服务器,直接解压。得到如图5的目录结构。
    在这里插入图片描述
    图 5 phpnow 解压后的目录结构

将我们的php web程序上传到图 5 中的 htdocs 目录下。
然后打开服务器上的命令行窗口,进入到如图6 所示的目录,执行 Setup.Cmd,如图 6.

在这里插入图片描述
默认开启phpnow的配置过程,按照提示选择配置项,建议一直敲回车,保留默认配置的取值即可。

完成以后,我们就可以实现在同一台物理服务器上同时运行多个不同后台脚本语言的web 网站了,而且所有的这些网站都是共用了80端口,这样我们的用户就可以直接在浏览器中输入域名访问,不需要带端口号了。

下面是我配置的三个网站,大家可以看到这三个网站都位于同一个一级域名下,而且共用了80端口。

在这里插入图片描述
图 6 网站1

在这里插入图片描述

图 7 网站2

在这里插入图片描述
图 8 网站 3

大家在具体配置过程中遇到什么技术问题,或者需要开发微信方面的系统或应用,都可以联系我们 wx:walkingman_c。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Nginx是一个流行的Web服务器以及反向代理框架,它具有高性能、稳定性和可扩展性等优点。在使用Nginx时,我们可能会需要在同一服务器上运行多个站点,这时候就需要用到多站点共用80端口的配置。 首先,我们需要在Nginx的配置文件中指定各自站点的位置,比如可以用类似下面的方式指定两个站点的位置: ```nginx server { listen 80; server_name site1.com; root /var/www/site1.com/; index index.html; } server { listen 80; server_name site2.com; root /var/www/site2.com/; index index.html; } ``` 在以上的配置中,我们分别指定了两个站点的名称、根目录位置和默认文档,同时将监听端口设置为80以确保多个站点可以共用同一个端口。 接着,我们需要将各自站点的请求进行转发。这时候我们可以使用Nginx的location指令来指定转发规则,比如下面的例子中我们将所有以/site1开头的请求都转发到site1站点的根目录下: ```nginx location /site1 { proxy_pass http://site1.com/; } ``` 类似地,我们也可以为site2站点指定请求的转发规则。这样,当用户访问site1.com/site1或者site2.com/site2时,Nginx会按照预设规则进行请求转发,从而保证了多个站点可以共用80端口的访问请求。 总结起来,在Nginx配置多个站点共用80端口时,我们需要首先指定各自站点的位置和监听端口,然后通过location指令来指定请求的转发规则。这样,我们就可以使得多个站点同一服务器上运行,且共用同一80端口的访问请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walkingmanc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值