端口 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 安装)问题

难以在端口 8080 上设置虚拟主机

Xampp 1.8.1:Apache 无法在端口 8080 中启动,该端口正被 tomcat 7 使用

Xampp 上的 Laravel 虚拟主机无法正常工作

如何在 localhost:8080 上使用 XAMPP 设置虚拟主机

XAMPP 实例已存在