apache配置多端口对应多个虚拟目录

时间:2022-08-21 07:14:24

经常需要在本地调试网站,却又不喜欢在http://localhost/网站的文件夹名

且几个比较重要的项目我想直接用端口号以示区分,想达到的效果如下:

http://localhost/ 默认80端口的时候访问的是D:\目录下的A网站

http://localhost:8080/ 8080端口的时候访问的是E:\目录下的B网站

以此类推,网站目录可以存放在硬盘下的任何地方。

应该有两种方式:1.直接修改httpd.conf

        2.开启虚拟端口:修改httpd-vhosts.conf文件内容

*******************************************************************************************************************

第一种:

实现的过程如下:

1、打开apache的httpd.conf文件,在Listen 80处另起一行输入Listen 8080 监听8080端口,如需其他端口需逐个添加:

Listen 80

Listen 8080

Listen 8081

Listen 8082

...

2、在httpd.conf文件最后一行添加:

NameVirtualhost localhost:8080 # 虚拟主机端口

<virtualhost localhost:8080>

documentroot E:/sk #这里就是你的网站目录绝对路径了哦~注意斜杠的方向

servername locahost:8080 #对应监听的端口

</virtualhost>

...

3、继续在最后添加目录属性:

<Directory "E:/sk">

Options Indexes FollowSymLinks

AllowOverride All #允许URL重写

Order allow,deny

Allow from all

</Directory>

完毕后记得重启apache,然后再浏览器输入http://localhost:8080/ 就可以访问到E:/sk下的网站了

********************************************************************************************************

第二种:比较简单分三步

1.在httpd.conf中添加新的监听端口:Listen 8887

2.  # Virtual hosts

  #虚拟主机 开启多端口 原先是注释掉的

  Include conf/extra/httpd-vhosts.conf

3.修改httpd-vhosts.conf内容,注意此文件的路径。

新增如下内容:

<VirtualHost *:8887>
  ServerAdmin webmaster@dummy-host.localhost
  DocumentRoot "D:\Apache Software Foundation\apache-tomcat-6.0.33\webapps2"
  ServerName localhost
  ServerAlias localhost
  ErrorLog "logs/dummy-host.localhost-error.log"
  CustomLog "logs/dummy-host.localhost-access.log" common
  <Directory "D:\Apache Software Foundation\apache-tomcat-6.0.33\webapps2">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

在局域网中也可使用“内网ip(192.168.1.*)+端口号”的形式访问网站。

************************************************************************************************************

特别说明:如果在外网中想以“ip+端口号”的形式访问网站,则需要进行端口映射。

apache配置多端口对应多个虚拟目录

注意:当服务器的防火墙开启后,要在高级设置-》入站规则中添加相应端口。