云主机环境搭建全能主机教程
很多站长在购买虚拟主机的时候,会看虚拟主机的一些参数,其中最重要的就是支持的程序语言。现在很多 IDC 商家都在宣称全能主机。所谓的全能主机,就是一台服务器上面同时支持多个不同的应用服务器运行,并且能通过外部独立域名访问的主机。这里的多个,要至少大于等于三个。
因为目前来讲,Apache、IIS、Tomcat 是目前被广泛使用的三种 Web 服务器软件,其中 Apache、Tomcat 是开源软件,不仅用于 Unix 系统,也有基于 Win32 平台的版本。
IIS 是 Windows 操作系统自带的组件,也提供了强大的 Internet 和 Intranet 服务功能。这三种服务器软件各有特色,IIS 对 ASP+Access 的支持比较好,而 Apache 是 PHP+MySQL 平台不二的选择,Tomcat 是运行 java 语言程序的服务器。
大家都知道,http 只有一个开放端口,就是 80 端口。外部通过独立域名访问网站的时候,如果不加端口,会默认访问服务器中 80 端口下面的网站。很现实,这几个应用服务器不可能只用一个端口。如果要访问,则必须通过域名加端口号才能访问,这样显然不利于推广。因此,我们就需要想办法让用户输入简单域名,而我们在后台截获域名,然后动态的解析到不同的端口网站上。
按照这样的思路,传统的就是重新配置 IIS,使其支持 PHP+MySQL,或者重新配置 Apache 使其能支持 ASP+Access。但考虑到这两种方法虽然从技术上都能够实现,但配置过程较复杂,不易于推广,不利于初学者使用。况且如果你还搭建了 java 程序,那就更复杂了。
通过这样的思路,使用 Apache 的虚拟主机功能和反向代理模块来实现。
在 Apache 的官方技术网站上是这样定义的:
虚拟主机指的是在单一机器上运行多个网站。虚拟主机可以“基于 IP”,即每个 IP 一个站点;或者“基于名称”,即每个 IP 多个站点。这些站点运行在同一物理服务器上的事实不会明显的透漏给最终用户。
Apache 是第一个支持基于 IP 的虚拟主机的服务器。 Apache 版本 1.1 和更新的版本同时支持基于 IP 和基于名称的虚拟主机。基于名称的虚拟主机有时候称为基于主机或非 IP 的虚拟主机。
详细地址:http://httpd.apache.org/docs/2.2/vhosts/
这里讨论的是基于名称的虚拟主机配置。
反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个 web 服务器。
那么我们就将 Apache 服务器做为一个代理 web 服务器,用它来处理从外部访问过来的任何请求并且返回给外部。
以 www.inhenet.com 这个域名为例。假设网站是一个 ASP+Access 网站,建立在 IIS 6.0 下,端口设置为 81。如果不使用反向代理,则用户访问这个网站时,必须使用 www.inhenet.com:81 才能正常访问,很麻烦。
通过反向代理设置后,用户仍然使用 www.inhenet.com 域名访问网站,但首先会进入到 Apache 服务器,然后再调转到 IIS 下的正式网站去。
设置步骤如下:
1、加载 Apache 的代理模块
打开 httpd.conf 文件,加入以下几行代码,此时 Apache 就是一个 web 代理服务器了。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
2、建立虚拟主机,进行端口重定向
为需要代理的网站建立一个虚拟主机,在此强烈建议,都通过虚拟主机来单独配置。有些朋友可能直接在 httpd.conf 文件里修改,这样虽然也能实现,但是所有的访问,包括不是代理域名的访问都会进入被代理的网站去。
因为 Apache 虚拟主机的加载顺序是按照顺序来加载的,如果访问的 url 配置了虚拟主机,则进行代理访问,如果没有,默认是以第一个的。
因此,需要引入虚拟主机单独的配置文件,在这里面增加虚拟主机配置。
在 httpd.conf 文件中找到代码:Include conf/extra/httpd-vhosts.conf,去掉“#”注释。
以下关于虚拟主机的配置都在 httpd-vhosts.conf 下进行。
默认 Apache 提供了两个样例,不用管,直接注释掉,或者在原来上面修改也可以。
我们是要将站点 www.inhenet.com 域名的所有访问转向 IIS 下面的 81 端口,先增加一个虚拟主机。代码如下:
<VirtualHost *:80>
ServerAdmin webmaster@a.com
DocumentRoot “X:/wwwroot/www.inhenet.com”
ServerName inhenet.com
ServerAlias www.inhenet.com
ErrorLog “logs/inhenet.com.log”
CustomLog “logs/inhenet.com.log” common
Require all granted
</Directory>
ProxyPass / http://www.inhenet.com:81/
ProxyPassReverse / http://www.inhenet.com:81/
</VirtualHost>
解释:
ServerAdmin:这个就是邮箱,可以默认
DocumentRoot:这个是你被代理的网站的根目录地址。我们这就是 IIS 6.0 下面的 ASP 网站目录。注意目录斜杠的方向。
ServerName:被代理的域名,这里就是你 IIS 下 ASP 网站的独立域名。
ServerAlias:同上,别名,一般可以写成一级或者二级域名。
ErrorLog:日志文件地址和名称。一般以域名作为文件名,方便区分,默认存放在 Apache 的 logs 目录下。
设置虚拟主机的目录的访问权限。建议权限的设定都在虚拟主机下单独设置,而不是在 httpd.conf 中统一设置成所有都可以访问,这样不安全。
ProxyPass:这个是关键,表示 IIS 下面 ASP 网站的真实访问地址,这里写成 Localhost,也可以写成“域名+端口”,这要看你在 IIS 设置的主机头地址了。如果主机头默认,那么这里就是 Localhost。
ProxyPassReverse:反向代理地址,返回给用户的信息。
同时不要忘记在所有虚拟主机的一开始位置,增加默认虚拟主机配置。
<VirtualHost *:80>
ServerAdmin prograsliu@gmail.com
DocumentRoot "D:/wamp/www"
ServerName localhost
ServerAlias localhost
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这个默认,你可以设置成 Apache 的 www 目录。
以上两步操作完成后,保存后重启 Apache 服务。你可以试着访问 ASP 网站的域名,不要加端口号,看看是否可以正常访问了。
如果要增加多个 IIS 网站或者 JAVA 网站,只要按照上面的步骤 2 中的代码增加虚拟主机即可,同时将代理域名写成你需要被代理的网站的 URL 即可。
通过这样操作,就可以完美实现一个全能主机了,你可以随便在服务器上搭建多个不同环境的网站了。
跃迁星门
时光星璇
- 2026年3月(1)
- 2025年10月(1)
- 2025年8月(1)
- 2025年7月(3)
- 2025年6月(1)
- 2025年4月(3)
- 2025年3月(1)
- 2025年2月(1)
- 2025年1月(1)
- 2024年12月(1)
- 2024年10月(2)
- 2024年9月(3)
- 2024年6月(1)
- 2024年5月(2)
- 2024年4月(2)
- 2024年1月(4)
- 2023年12月(1)
- 2023年11月(2)
- 2023年10月(2)
- 2023年9月(7)
- 2023年8月(3)
- 2023年6月(2)
- 2023年4月(1)
- 2023年3月(1)
- 2023年1月(1)
- 2022年12月(1)
- 2022年11月(1)
- 2022年10月(2)
- 2022年9月(2)
- 2022年8月(2)
- 2022年7月(1)
- 2022年6月(5)
- 2022年5月(3)
- 2022年4月(2)
- 2022年2月(1)
- 2021年12月(1)
- 2021年11月(1)
- 2021年10月(1)
- 2021年9月(2)
- 2021年8月(1)
- 2021年7月(6)
- 2021年6月(3)
- 2021年4月(1)
- 2021年3月(2)
- 2021年1月(7)
- 2020年12月(4)
- 2020年11月(4)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(1)
- 2020年7月(4)
- 2020年6月(4)
- 2020年3月(1)
- 2020年2月(2)
- 2020年1月(2)
- 2019年11月(6)
- 2019年9月(1)
- 2019年8月(1)
- 2019年7月(1)
- 2019年6月(1)
- 2019年5月(3)
- 2019年4月(1)
- 2019年3月(3)
- 2019年2月(2)
- 2019年1月(6)
- 2018年12月(5)
- 2018年11月(4)
- 2018年10月(3)
- 2018年9月(1)
- 2018年8月(2)
- 2018年6月(1)
- 2018年4月(2)
- 2018年3月(1)
- 2018年1月(6)
- 2017年12月(3)
- 2017年11月(2)
- 2017年10月(2)
- 2017年9月(1)
- 2017年8月(2)
- 2017年6月(2)
- 2017年4月(2)
- 2017年3月(6)
- 2017年2月(1)
- 2016年12月(1)
- 2016年11月(1)
- 2016年10月(2)
- 2016年7月(2)
- 2016年6月(1)
- 2016年5月(1)
- 2016年4月(1)
- 2016年3月(2)
- 2016年2月(2)
- 2016年1月(2)
- 2015年12月(3)
- 2015年11月(1)
- 2015年10月(2)
- 2015年9月(2)
- 2015年8月(2)
- 2015年7月(4)
- 2015年6月(1)
- 2015年5月(4)
- 2015年4月(5)
- 2015年3月(3)
- 2015年2月(5)
- 2015年1月(3)
- 2014年12月(1)
- 2014年10月(1)
- 2014年9月(1)
- 2014年7月(1)
- 2014年5月(1)
- 2014年4月(1)
- 2014年2月(1)
- 2014年1月(1)
- 2013年11月(1)
- 2013年10月(1)
- 2013年8月(1)
- 2013年7月(1)
- 2013年6月(1)
- 2013年5月(5)
- 2013年4月(3)
- 2013年2月(2)
- 2013年1月(3)
- 2012年12月(2)
- 2012年11月(3)
- 2012年10月(2)
- 2012年9月(2)
- 2012年8月(1)
- 2012年7月(3)
- 2012年6月(4)
- 2012年5月(2)
- 2012年4月(1)
- 2012年3月(2)
- 2012年2月(1)
- 2012年1月(2)
- 2011年12月(1)
- 2011年11月(2)
- 2011年10月(3)
- 2011年9月(1)
- 2011年8月(5)
- 2011年7月(2)
- 2011年5月(2)
- 2011年2月(3)
- 2011年1月(1)
- 2010年12月(4)
- 2010年11月(4)
- 2010年10月(1)
- 2010年8月(1)
- 2010年6月(1)
- 2010年4月(1)
- 2010年3月(1)
- 2009年9月(1)
- 2009年8月(1)
- 2009年3月(3)
- 2008年6月(1)
- 2008年5月(1)
- 2008年4月(1)
- 2008年3月(1)

