端口 8080 上的虚拟主机 XAMPP 无法正常工作
Posted
技术标签:
【中文标题】端口 8080 上的虚拟主机 XAMPP 无法正常工作【英文标题】:Virtual Host XAMPP on port 8080 doesn't works fine 【发布时间】:2016-09-15 20:14:24 【问题描述】:我想在 XAMPP 上运行 Vhost,但重定向到端口:8080。这里的问题是我在端口:80 上运行 IIS,在端口:8080 上运行 Apache,这些是我的配置文件,试图在虚拟主机上运行我的项目:
主机文件
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 www.goviaje.com
httpd-vhosts.conf
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8080
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
##<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host2.example.com
##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
##ServerName dummy-host2.example.com
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>
<VirtualHost *:8080>
ServerAdmin localhost:8080
DocumentRoot "C:/xampp/htdocs"
ServerName localhost:8080
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/xampp/htdocs/goviaje/"
ServerName www.goviaje.com:8080
ServerAlias goviaje.com:8080
<Directory "C:/xampp/htdocs/goviaje">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
httpd.conf 中所有必要的模块都已启用
好的,当我在浏览器中输入“www.goviaje.com”时,它会将我发送到 IIS 主页 (localhost:80),我需要转到 localhost:8080/goviaje/
谁能帮帮我?
【问题讨论】:
端口 80 是默认的 HTTP 端口,因此所有浏览器都会默认使用它。如果您需要指定端口,它需要是 URL 的一部分:http://localhost:8080/goviage/
。可以使用防火墙进行端口转发,这将绕过 IIS(使其无法访问),或者从 IIS 安装进行重定向。为什么需要在一台机器上安装两个 Web 服务器?
您可以尝试使用不同的 IP 而不是不同的端口。您可以使用整个 127.0.0.0/8 网络,因此您可以配置 Apache 来监听例如在 127.0.0.2 上(当然需要在 hosts 文件中输入适当的条目)
我需要两台 Web 服务器,因为我有 .NET 项目和 php 项目。我的想法是我从数据库中获得了一些具有绝对路径( www.goviaje.com/imgs/* )的资源,所以当我看到项目时,例如,我无法查看图像。我会尝试更改IP地址。谢谢
【参考方案1】:
您必须使用www.goviaje.com:8080
作为网站 URL 才能访问 Apache,因为默认 HTTP 端口是 80,因此 IIS 正在处理您的请求。当然,您也可以将 IIS 配置为转发代理。
【讨论】:
以上是关于端口 8080 上的虚拟主机 XAMPP 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
XAMPP 配置为端口 8080 和主机文件(和 WordPress-mu 安装)问题
Xampp 1.8.1:Apache 无法在端口 8080 中启动,该端口正被 tomcat 7 使用