云主机环境搭建教程之搭建全能主机

  很多站长在购买虚拟主机的时候,会看虚拟主机的一些参数,其中最重要的就是支持的程序语言。现在很多IDC商家都在宣称全能主机。

  最好笑的一个事情就是,笔者刚建站的时候,购买了国内一家小主机商(名叫主机屋)的虚拟主机,他们宣传就是全能主机,什么语言都支持。这样的幌子去骗一些菜鸟还可以,对于一个懂技术的,就只能对他们的伎俩投以鄙视的眼光。后来询问之后,才知道他们所谓的全能主机,也就仅仅只支持PHP和ASP同时运行(使用IIS运行PHP),连ASP.net都不支持,对于这事,笔者还和他们理论了半天,现在估计再也不敢宣称全能主机了,这样的商家,希望所有站长都能远离,太没有道德了。

  首先说说,什么是全能主机。

  所谓的全能主机,就是一台服务器上面同时支持多个不同的应用服务器运行,并且能通过外部独立域名访问的主机。这里的多个,要至少大于等于三个。

  因为目前来讲,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程序,那就更复杂了。

  笔者也没有从事过IDC行业的工作,没有这方面的经验。同时也在思考现在那些全能功能是如何实现的。根据笔者的经验,他们是有一个80端口的服务器做代理分发,将不同的域名分发到不用的应用服务器的网站上。

  通过这样的思路,笔者想到了使用Apache的虚拟主机功能和反向代理模块来实现。

  什么是Apache虚拟主机。在apache的官方技术网站上是这样定义的。

  虚拟主机指的是在单一机器上运行多个网站 (例如 www.company1.com 和 www.company2.com) 。 虚拟主机可以“基于 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.bxw001.com这个域名为例。这个网站是一个ASP+Access网站,建立在IIS6.0下,端口设置为81。如果不使用反向代理,则用户访问这个网站时,必须使用www.bxw001.com:81 才能正常访问,很麻烦。

  通过反向代理设置后,用户仍然使用www.bxw001.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.bxw001.com域名的所有访问转向IIS下面的81端口,先增加一个虚拟主机。代码如下:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "d:/wwwroot/www.bxw.com"
    ServerName bxw001.com
    ServerAlias www.bxw001.com
    ErrorLog "logs/bxw001.com.log"
    CustomLog "logs/bxw001.com.log" common
    <Directory "d:/wwwroot/www.bxw.com">
     Require all granted
    </Directory>
   ProxyPass / http://localhost:81/
   ProxyPassReverse / http://localhost:81/
</VirtualHost>

  解释:

ServerAdmin:这个就是邮箱,可以默认
DocumentRoot:这个是你被代理的网站的根目录地址。我们这就是IIS6.0下面的ASP网站目录。注意目录斜杠的方向。
ServerName :被代理的域名,这里就是你IIS下ASP网站的独立域名。
ServerAlias:同上,别名,一般可以写成一级或者二级域名。
ErrorLog :日志文件地址和名称。一般以域名作为文件名,方便区分,默认存放在apache的logs目录下。
<Directory > 设置虚拟主机的目录的访问权限。笔者建议权限的设定都在虚拟主机下单独设置,而不是在httpd.conf中统一设置成所有都可以访问,这样不安全。
ProxyPass :这个是关键,表示IIS下面ASP网站的真实访问地址,这里写成localhost,也可以写成域名+端口,这要看你在IIS设置的主机头地址了。如果主机头默认,那么这里就是localhost。
ProxyPassReverse :反向代理地址,返回给用户的信息。

  同时不要忘记在所有虚拟主机的一开始位置,增加默认虚拟主机配置。

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot "D:/wamp/www"
     ServerName localhost
     ServerAlias localhost
     <Directory "d:/wamp/www">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
</VirtualHost>

  这个默认,你可以设置成Apache的www目录。

  以上两步操作完成后,保存后重启Apache服务。你可以试着访问ASP网站的域名www.bxw001.com,不要加端口号,看看是否可以正常访问了。呵呵。

  如果要增加多个IIS网站或者JAVA网站,只要按照上面的步骤2中的代码增加虚拟主机即可,同时将代理域名写成你需要被代理的网站的URL即可。

  通过这样操作,就可以完美实现一个全能主机了,你可以随便在服务器上搭建多个不同环境的网站了。

  来源:sixdosoft投稿。

时间: 2024-11-15 22:10:36

云主机环境搭建教程之搭建全能主机的相关文章

Active Directory攻防实验室环境搭建教程(一)

本文讲的是Active Directory攻防实验室环境搭建教程(一),这篇文章不是为了描述如何搭建配置非常完美的实验室.相反,本文的重点是实验室的具体环境,可以让你作为学习的工具快速,轻松地搞起来.了解计算机网络和安全的最佳方法是自己搭建家庭实验室.值得高兴的事情是,搭建家庭实验室不再像以前那样需要多台物理计算机.虚拟化技术使得任何人都可以使用高配的处理器和足够的内存来创建实验室环境,而不会过于的复杂.此外,也可以以最低的成本来构建Windows环境进行网络安全测试. 实验室托管 云端: Am

win7 php环境搭建教程:win7下php环境搭建步骤详解

  今天绿茶小编带给大家的是win7 php环境搭建教程,php新手如果不知道如何在win7下php环境搭建方法的话,那么接下来这篇文章就可以帮到你,步骤还是很详细的哦~ 以下是一些注意事项: 一.apache选择msi格式下载,一路next,ok,修改httpd.conf进行配置; 二.配置的LoadModule php5_module路径一定要正确设置,并且注意双引号为英文字符; 三.php配置按参考修改即可,一般无大问题; 四.配置完成apache不能启动报错:the requested

Active Directory攻防实验室环境搭建教程(二)

本文讲的是Active Directory攻防实验室环境搭建教程(二),这篇文章不是为了描述如何搭建配置非常完美的实验室.相反,本文的重点是实验室的具体环境,可以让你作为学习的工具快速,轻松地搞起来.了解计算机网络和安全的最佳方法是自己搭建家庭实验室.值得高兴的事情是,搭建家庭实验室不再像以前那样需要多台物理计算机.虚拟化技术使得任何人都可以使用高配的处理器和足够的内存来创建实验室环境,而不会过于的复杂.此外,也可以以最低的成本来构建Windows环境进行网络安全测试. 管理实验室虚拟机 大多数

windows server 2008/2012安装php iis7 mysql环境搭建教程_php实例

windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

windows server 2008/2012安装php iis7 mysql环境搭建教程

windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

node.js环境搭建教程

  Node.js是一个JavaScript运行环境,但是实际上他是多谷歌V8引擎进行封装,node对一些特殊的用例进行了优化,提供了API,让V8更加好的在非浏览器情况下运行,下面小编就为大家介绍一下node.js环境搭建教程 Node.js是一个事件驱动I/O服务端JavaScript环境.由于其拥有异步非阻塞.环境搭建简单.实践应用快等特性,使得其在新一代编程开发中更为流行.同时,由于Node.js 基于JavaScript语法,因此在学习Node.js时也可以了解和学习JavaScrip

LAMP环境搭建教程

原文:LAMP环境搭建教程 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一.首先安装操作系统 操作系统:centos6.3 IP地址:192.168.146.129 网关: DNS: 操作系统安装步骤,此处不在给出截图. 备注:服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可.如下图所示:   <a href="https:/

IIS+PHP+MYSQL服务器环境搭建教程

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 IIS+PHP+MYSQL服务器环境搭建教程 : 1.安装IIS:插入WINDOWS安装盘-控制面板-添加或删除程序-添加/删除windows组件-选择Internet信息服务安装. 2.安装PHP:到www.php.net下载win平台压缩包(注意不要选msi自动安装不利于维护),解压到任意目录,如c:/php. 3.配置php环境:复制P

mysql5.7.13 环境搭建教程(解压缩版)_Mysql

最近决定学习数据库,在比较了各个数据库之后,选择从mysql入手,主要原因:  •开源  •成熟,通用  •用户量多,社区完善  •入门简单 一.下载安装 mysql的官网下载地址:http://dev.mysql.com/downloads/mysql/  mysql官网有俩种版本可供下载,分别是客户端版本(Recommended Download,也是官网的推荐版本)和解压缩版本(Archive).我这里选择的是解压缩版本,点击download进行下载,下载完毕后直接将压缩包解压到您想要安装