XAMPP apache服务器没有使用我想要的端口,不确定为什么

Hea*_*ood 2 apache xampp port virtualhost

所以,我一直在为一个学校项目设置这个HTTP服务器,该项目必须能够通过虚拟主机维护多个域.使用XAMPP我设置了我的服务器,我以为我做得很好但也许没有.

我有很多问题无法收听端口,解决了我使用的问题(在apache/conf /下的httpd.conf中)

    Listen 0.0.0.0:8080
    ServerName localhost:8080
Run Code Online (Sandbox Code Playgroud)

如果我使用80/81/8080/321 /任何没有前缀0.0.0.0的组合,它告诉我端口无法收听或者其他什么(对不起,我的语法有点生疏).

我设置了我的第一个虚拟主机(在apache/conf/extra/httpd-vhosts.conf下):

NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot    "H:/xampp2/xampp/htdocs"
    ServerName      localhost:8080

    <Directory "H:/xampp2/xampp/htdocs">
        Option Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我觉得这似乎很好,我不相信我已经修改了其他任何东西.对我来说,我希望这意味着我的Apache服务器将使用端口8080作为服务器?但是,当我在XAMPP中启动Apache时,它说得非常清楚

 Apache started [Port 80]
Run Code Online (Sandbox Code Playgroud)

为什么这是80端口?

同时,localhost:8080不会导航我到文档,但localhost:80或localhost.我认为这只意味着它仍然在端口80上.我已经尝试重置我的电脑和XAMPP.

如果您需要更多信息,请告诉我.我尝试过以下指南:http://ailoo.net/2008/07/set-up-multiple-virtual-hosts-on-xampp-for-windows/

干杯.

哦,我还编辑了我的Windows HOSTS文件; 它看起来像这样:

# localhost name resolution is handled within DNS itself.
    127.0.0.1       localhost
    ::1             localhost
    127.0.0.1       localhost:8080
Run Code Online (Sandbox Code Playgroud)

编辑:新错误...现在,当我初始化时,这似乎并没有影响它:

 ERROR: Status Check Failure [3]
 This program must be run from your XAMPP root directory.
Run Code Online (Sandbox Code Playgroud)

据我所知,它正在从根目录运行.

小智 8

好的,我也没在这方面先进.然而,经过多次使用XAMPP并遵循一些不同的指南,我得到了我的工作.

司机下的主人看起来很怪异.我宣布我的:

 127.0.0.1:8080    test.localhost.com
 127.0.0.1:8080    test2.localhost.com
Run Code Online (Sandbox Code Playgroud)

备份你的Xampp,然后提取一个干净的安装到C: - 只是因为状态检查失败听起来像坏消息.

!记得从xampp目录运行setup_xampp.bat并安装apache服务!

然后根据你的httpd.conf添加:

ServerRoot C:\xampp\apache
Listen 7070
Listen 8080
Listen 9090
Run Code Online (Sandbox Code Playgroud)

Apache起初可能不喜欢这样但是meh.

ServerRoot可能已在Listen点上方声明,因此只需仔细检查即可.

之后转到C:\ xampp\apache\conf\extra.

编辑httpd-vhosts.conf.

在基于名称的虚拟主机部分下添加:

NameVirtualHost *:7070
NameVirtualHost *:8080
NameVirtualHost *:9090
Run Code Online (Sandbox Code Playgroud)

下面会有几个虚拟主机的例子.加:

<VirtualHost *:7070>
    DocumentRoot    "C:/xampp/www/YOURWEBSITEDIR1"
    ServerName      test.localhost.com
    <Directory "C://xampp/www/YOURWEBSITEDIR1">
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:9090>
    DocumentRoot    "C:/xampp/www/YOURWEBSITEDIR2"
    ServerName      test2.localhost.com
    <Directory "C://xampp/www/YOURWEBSITEDIR2">
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

不是Directory标记中的双斜杠.现在确保每个目录下都有一个index.html.重启apache(停止,启动).

我无法导航到test.localhost.com网址,可能是由于它们在HOST配置中非常错误.虽然我可以连接到127.0.0.1:7070,127.0.0.1:9090并从那里访问网页.

另外127.0.0.1:8080将我连接到localhost用来连接你的xampp欢迎面板.

希望这有帮助,祝你好运!