经常需要在本地调试网站,却又不喜欢在http://localhost/网站的文件夹名/
且几个比较重要的项目我想直接用端口号以示区分,想达到的效果如下:
http://localhost/
默认80端口的时候访问的是D:\目录下的A网站
http://localhost:8080/
8080端口的时候访问的是E:\目录下的B网站
以此类推,网站目录可以存放在硬盘下的任何地方。
应该有两种方式:
- 直接修改httpd.conf
- 开启虚拟端口:修改httpd-vhosts.conf文件内容
第一种:
实现的过程如下:
1、打开apache的httpd.conf文件,在Listen 80处另起一行输入Listen 8080
监听8080端口,如需其他端口需逐个添加:
1 | Listen 80 |
2、在httpd.conf文件最后一行添加:
1 | NameVirtualhost localhost:8080 # 虚拟主机端口 |
3、继续在最后添加目录属性:
1 | <Directory "E:/sk"> |
完毕后记得重启apache,然后再浏览器输入http://localhost:8080/
就可以访问到E:/sk
下的网站了
第二种:比较简单分三步
1.在httpd.conf中添加新的监听端口:Listen 8887
2.#Virtual hosts
Include conf/extra/httpd-vhosts.conf
虚拟主机 开启多端口 原先是注释掉的
3.修改httpd-vhosts.conf内容,注意此文件的路径。
新增如下内容:
1 | <VirtualHost *:8887> |
在局域网中也可使用内网ip(192.168.1.*)+端口号
的形式访问网站。
特别说明:如果在外网中想以“ip+端口号”的形式访问网站,则需要进行端口映射。
注意:当服务器的防火墙开启后,要在高级设置-》入站规则
中添加相应端口。