为了测试dedecms和phpcms这两种cms,所以在本机分别架设两个虚拟主机。
1: 安装好AppServ2.5.9软件,官网是:http://www.appservnetwork.com/ ,2.59下载地址是:http://nchc.dl.sourceforge.net/sourceforge/appserv/appserv-win32-2.5.9.exe 是英文软件,但是安装时可以选择gbk-gb2312的编码。
2: 修改本机的hosts文件,如下:
示例:
127.0.0.1 localhost
127.0.0.1 www.dede.com
127.0.0.1 www.phpcms.com
3: 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
去掉#意思是启用apache的虚拟主机功能。
#Include conf/extra/httpd-vhosts.conf
去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。
4: 打开extra目录内的httpd-vhosts.conf文件,什么都不管,直接在文件底部加入自己要加的虚拟主机的信息。如下面所示。
分别是给出一个管理员邮箱、指出此网站的根目录、域名、和错误日志存放位置。注意目录间隔最好用/而不是/ 。
<VirtualHost *:80>
ServerAdmin jsw7001@hotmail.com
DocumentRoot E:/AppServ259/www/dede
ServerName www.dede.com
ErrorLog E:/AppServ259/www/dede/error.log
CustomLog logs/dummy-host2.appservnetwork.com-access_log common
</VirtualHost> <VirtualHost *:80>
ServerAdmin jsw7001@hotmail.com
DocumentRoot E:/AppServ259/www/phpcms
ServerName www.phpcms.com
ErrorLog E:/AppServ259/www/dede/error.log
CustomLog logs/dummy-host2.appservnetwork.com-access_log common
</VirtualHost>
*以上路径中的斜线左斜右斜都可以。
5: 将appserv的apache服务重启,就可以了,可以在各网站的根目录下放一个index.html文件,如果能看到,说明就对了。
apache的监听ip和监听端口设置
在apache中,默认是只监听本机所有ip的80端口的。打开httpd.conf文件的60-70行之间(不同版本可能不太一样),有一行Listen 80的语句,就是这一句定义了apache的端口,默认没有指定ip,也就是默认监听所有ip的意思。
我们可以根据自己电脑的ip改成:
Listen 80
Listen 8080
那么,apache现在就同时监听80和8080端口两个端口了。
我们也可以像下面的设法来指定监听某个固定ip和端口:
Listen 192.168.2.111:80
Listen 192.168.2.111:8080
如果您的电脑启用了虚拟主机,电脑上运行着一个www.test.com网站,这时通过www.test.com可以正常访问网站,但是通过www.test.com:8080,看到的不是网站,而是网站的默认路径。
这是因为,我们所改的httpd.conf文件是apache的全局设置,如果是想让虚拟主机也监听多端口,那些么需要去改虚拟主机的配置。
我们打开httpd-vhosts.conf文件,以下面为例:
<VirtualHost 192.168.2.111:80 192.168.2.111:8080>
ServerAdmin webmaster@dummy-host2.appservnetwork.com
DocumentRoot D:/AppServ/www/test
ServerName www.test.com
ErrorLog logs/dummy-host2.appservnetwork.com-error_log
CustomLog logs/dummy-host2.appservnetwork.com-access_log common
</VirtualHost>
上面第一行,我们同时设了192.168.2.111:80 192.168.2.111:8080,这样虚拟主机就可以同时用上面ip的两个端口访问了。
那么,是不是在虚拟主机配置了监听ip和端口,httpd.conf文件就不需要设监听端口了呢?
我做了一下实验,如果httpd.conf中只监听80端口,虚拟主机却设了80和8080,那么虚拟主机同时用80和8080都是可以用的。但是如果 httpd.conf一个端口都不监听的话,apache服务是不能启动的。也就是说,httpd.conf文件中必须设置一个apache的全局监听端 口。
接着尝试,如果把httpd.conf的默认监听88端口,然后让虚拟主机使用80和8080,那么使用www.test.com的80和8080将不能 访问。通过www.test.com:88访问到的是apache的缺省路径。这说明,如果apache的默认端口不是80,那么虚拟主机中设置的与 httpd.conf不同的端口将不会被监听。
如果想让apache工作在非默认端口,但是虚拟机同时监听两个端口,那么怎么设置呢?其实这时,只需要让httpd.conf中监听跟虚拟主机中设置同样的端口就行了。
例如httpd.conf如下:
Listen 88
Listen 8080
虚拟主机配置如下:
<VirtualHost 192.168.2.111:88 192.168.2.111:8080>
AppServ2.5.9本机配置虚拟主机以及端口设置
最新推荐文章于 2021-09-08 09:20:07 发布