-
感谢拼一把博客的投稿:
很多站长在购买虚拟主机的时候,会看虚拟主机的一些参数,其中最重要的就是支持的程序语言。现在很多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 webmaster@a.com
DocumentRoot “d:/wwwroot/www.bxw.com”
ServerName bxw001.com
ServerAlias www.bxw001.com
ErrorLog “logs/bxw001.com.log”
CustomLog “logs/bxw001.com.log” common
Require all granted
</Directory>
ProxyPass / http://www.bxw001.com:81/
ProxyPassReverse / http://www.bxw001.com:81/
</VirtualHost>
解释:
ServerAdmin:这个就是邮箱,可以默认
DocumentRoot:这个是你被代理的网站的根目录地址。我们这就是IIS6.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即可。
通过这样操作,就可以完美实现一个全能主机了,你可以随便在服务器上搭建多个不同环境的网站了。更多关于主机配置与问题的解决文章,请继续关注本博客。
顶: 4 踩: 0来源:卢松松博客 QQ/微信:13340454
云主机环境搭建教程之搭建全能主机
| 阅读量 | 分类: 建站教程 | 作者: 读者投稿
相关文章阅读更多:主机
- 2024-06-04 云计算行业快死了
- 2024-04-09 腾讯云短暂崩溃2小时
- 2024-01-27 2024阿里云和腾讯云的第一战打响:搭建《幻兽帕鲁》私服游戏
- 2024-01-06 腾讯云取消免费10G CDN流量包:免费CDN时代结束
- 2023-12-11 内部员工薅腾讯云60万羊毛
- 2023-11-24 免费时代结束:百度云加速取消所有免费套餐
- 2023-11-10 阿里云99元的主机到底怎么样?
- 2023-07-05 美国将限制中国使用亚马逊、微软云服务
- 2022-08-26 国企云计算厂商增长迅猛,但私企云下滑
- 2022-08-18 大企业的服务器都放在奇怪的地方
- 2022-07-20 西部数码主机遭遇大规模断网
- 2022-06-15 阿里云腾讯云业务增长放缓或停滞
- 2021-12-17 CDN云服务流量有多贵?
- 2021-09-22 华为服务器暴跌45.9%
- 2021-09-08凡是在卢松松博客投稿的作者都有机会得到IT类图书哦!
发表感想加入微信群
阿里云虚拟主机
阿里云服务器
阿里云虚拟主机
大泽网
九块九包邮
厦门微信服务中心
该学网
屌丝腐女正能量
仙国大帝
骚动吧心中的野兽
王牌论坛
刘兆华
旅游么
旅游么
绿软盒子
招生网
龙三公子
玩什么游戏可以赚钱
泥博客
另外说mysql+php的做法是很好,但不是运行在APACHE下的不二之选吧?这样的话为何不直接LINUX服务器了?
宜兴婚纱摄影
苹果手机套
无罪辩护律师
无罪辩护律师
37网站诊断分析
武汉seo
谢通祥死刑辩护观察
谢通祥死刑辩护观察
淋巴水肿
陈念博客
站长百科
emehost
白咖啡
苹果手机套
声卡驱动器官方下载
金石耐材
阿贵
黑苹果博客
厦门微信
当下点讯
Dr.J
白马寺痛消贴
咯咯网
中国博客
厦门微信美美
职业培训
光的传人
博客猫
外贸网站建设
马丁靴
北京死刑复核律师
北京死刑辩护律师
北京死刑复核律师
北京死刑辩护律师
wordpress主题教程网
刘孟浩
粉肚兜
靠谱分享
虚拟主机服务商
厨神
江苏科技大学苏州理工学院
谢谢分享
石家庄
肖玉宸
王朋雨博客
好运鞋
性
心维随笔
司法考试问答
司法考试问答
小鬼哥
手写体网
玉皇报
福林培训网
蔡国庆
多喜爱婚礼设计
风行
印度易瑞沙
拼一把博客
21氪
心晴客栈
随便想想
个人觉得一个lamp就够了
石家庄热线
PHP二次开发