在 WSL 上进行基本安装后 localhost 无法正常工作

Posted

技术标签:

【中文标题】在 WSL 上进行基本安装后 localhost 无法正常工作【英文标题】:Localhost not working after basic installation on WSL 【发布时间】:2019-11-07 11:49:32 【问题描述】:

我正在尝试安装 LAMP 工作环境,但由于某种原因没有任何反应。缺少错误消息让我想知道要寻找什么。

我遵循了 Ubuntu 的安装过程:

sudo apt install apache2 php libapache2-mod-php mysql-server php-mysql

在那个阶段,localhost 应该显示“It works!”消息,但它没有。

我已经重启了几次apache服务都没有效果:

sudo service apache restart

反正看起来还不错。

我已经检查了以下文件作为一些在线教程的建议:

/etc/apache2/sites-available/000-default.conf
/etc/apache2/apache2.conf

当时我完全不知道要解决什么问题。

有什么想法吗?

【问题讨论】:

当你转到localhost 时实际发生了什么?另外,您使用的是稳定的 Windows 版本和 WSL1,还是使用 WSL2 的内部预览版? (使用 WSL2,linux dist 当前获取它自己的 IP 地址,而不是共享 Windows IP) Chrome 显示“ERR_SOCKET_NOT_CONNECTED”错误代码。我没有尝试获得内幕预览,所以我猜它是 WSL1 甚至很难我找不到如何检查我拥有的版本。在我决定卸载它之前,我曾经有一个 XAMPP 设置和一个工作的本地主机。 本地主机以前工作过吗?或者您刚刚安装了新的 WSL?你能通过 localhost 访问其他服务吗? 【参考方案1】:

你已经安装了 apache2。尝试运行它: sudo service apache2 重启

我也尝试在 WSL 上安装 LAMP。但我很幸运。我按照以下步骤操作:

第 1 步:更新和升级 ubuntu 子系统

sudo apt-get update && sudo apt-get upgrade

第二步:启动bash.exe 输入:

sudo apt-get install lamp-server^

记住命令末尾的插入符号 (^)。

在 /etc/apache2/apache2.conf 中添加这两行:

Servername localhost
AcceptFilter http none

那么你就可以启动apache了:

/etc/init.d/apache2 start

第 3 步:测试 Web 服务器、PHP 和 MySQL 测试 Apache:打开 Web 浏览器并输入此 URL:

http://127.0.0.1 or http://localhost

测试 PHP:创建以下文件 (info.php) 并将其放在 /var/www/html

<?php
phpinfo();
?>

打开网络浏览器并输入此 URL:

http://127.0.0.1/info.php or http://localhost/info.php

测试 MySQL:在 bash 提示符下键入以下命令

service mysql start
mysql -uroot -ppassword

希望它对你有用。

【讨论】:

我没有重新安装 lamp-server^ 软件包(这对我来说没有意义,因为我自己已经安装了 apache2)但我确实尝试了该命令:/etc/init.d/ apache2 start 而不是 sudo service apache2 start 现在似乎可以工作了。我想知道有什么区别。 我认为是一样的。也许 WSL 需要以不同的方式调用程序。我不确定。我很高兴它对你有用。 当我运行这个命令时:`/etc/init.d/apache2 start`我得到这个错误:Output of config test was: mkdir: cannot create directory '/var/run/apache2': Permission denied chown: changing ownership of '/var/lock/apache2.rBfnTgPrFJ': Operation not permitted我该如何解决这个问题?

以上是关于在 WSL 上进行基本安装后 localhost 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

从零实操基于WSL2 Docker部署Asp.Net Core项目

Debian WSL desktop install on windows 10

在 Flutter 中使用 localhost 并在 iOS 设备上进行测试

WSL_01 Windows WSL 安装并配置镜像与SSH

wsl2从bash终端调用浏览器打开localhost

在Windows系统配置WSL