Apache虚拟主机配置

来源:互联网 发布:最新打车软件 编辑:程序博客网 时间:2024/05/21 06:33

公司需要前几天需要我开发一个远程上传文件的功能,需要在本地安装两个相同的系统,绑定不同的域名来进行传输文件。由于之前没接触过虚拟主机配置,当时面对浏览器的报错,无从下手……只好请教技术经理,被默默地扔下一句:虚拟主机配置是程序员的基本技能。。。然后看他一连串的设置,然后系统访问成功!!!

事后,我上网查阅了一下Apache虚拟主机配置,解释如下:
在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。(多个域名访问多个目录)

首先声明,本次操作是在phpStudy的环境配置上,具体配置还需根据个人的环境。

一、Apache基于域名配置虚拟主机:

1.找到vhosts.conf
在phpStudy 2014中,可以直接在[菜单-打开配置文件]中打开, 文件路径:phpStudy/Apache/conf/vhosts.conf

2.打开vhosts.conf文件,修改如下:

<VirtualHost *:80>    DocumentRoot "E:\phpStudy\WWW\newhouse\web"    ServerName app.08cms.com    <Directory "E:\phpStudy\WWW\newhouse\web">        Options FollowSymLinks ExecCGI        AllowOverride All        Order allow,deny        Allow from all        Require all granted    </Directory></VirtualHost><VirtualHost *:80>    DocumentRoot "E:\phpStudy\WWW\newimage\web"    ServerName img.08cms.com    <Directory "E:\phpStudy\WWW\newimage\web">        Options FollowSymLinks ExecCGI        AllowOverride All        Order allow,deny        Allow from all        Require all granted    </Directory></VirtualHost>

这里配置了两个虚拟主机,这两个主机使用的都是80端口,第一个虚拟主机指定域名为“app.08cms.com”,服务器目录为“E:\phpStudy\WWW\newhouse\web”,第二个虚拟你主机指定域名为“img.08cms.com”,服务器目录为“E:\phpStudy\WWW\newimage\web”

根据网上的资料,其实可以配置第一个是默认虚拟主机,找不到虚拟主机的域名访问也由这个虚拟主机来提供服务。

3.找到hosts
在phpStudy 2014中,可以直接在[菜单-打开hosts]中打开, 文件路径:Windows/System32/drivers/etc/hosts

4.打开hosts,修改如下:

127.0.0.1 app.08cms.com127.0.0.1 img.08cms.com

注意:如果只是在本地进行配置测试的话,需要在hosts文件中加入域名到本地IP地址的映射。所以3、4根据实际情况。

5.重启Apache,访问系统成功!

二、Apache基于端口配置虚拟主机(待测试):

1.首先在Apache配置文件conf/httpd.conf中修改配置让Apache服务器监听多个端口:

  Listen 8080  Listen 80

这里监听两个端口,配置两个虚拟主机。

2.然后在配置文件conf/vhosts.conf,添加如下配置信息:

<VirtualHost *:80>    DocumentRoot "E:\phpStudy\WWW\newhouse\web"    ServerName app.08cms.com    <Directory "E:\phpStudy\WWW\newhouse\web">        Options FollowSymLinks ExecCGI        AllowOverride All        Order allow,deny        Allow from all        Require all granted    </Directory></VirtualHost><VirtualHost *:800>    DocumentRoot "E:\phpStudy\WWW\newimage\web"    ServerName img.08cms.com    <Directory "E:\phpStudy\WWW\newimage\web">        Options FollowSymLinks ExecCGI        AllowOverride All        Order allow,deny        Allow from all        Require all granted    </Directory></VirtualHost>

最后重启Apache服务器,就可以通过同一个IP地址的不同端口来访问同一个服务器上的两个不同目录了。

注意:Web服务器默认使用的是80端口,所以访问80端口的站点时可以不用加上“:80”,但是访问其他端口时必须带上端口号。

在段中的配置可以覆盖外面的配置。

参考网址:

http://www.it165.net/admin/html/201502/4903.html

http://www.cnblogs.com/lucky-man/p/6207851.html

http://www.tuicool.com/articles/n2uYBb