在 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 设备上进行测试