你能在 Windows 的 wsl 功能(Ubuntu 20.04 LTS)上运行 apache2 吗?
注意:我尝试这样做,但收到此错误:
lokz@JACK-PC2:~$ sudo service apache2 start
* Starting Apache httpd web server apache2
(20014)Internal error (specific information not available):
AH00058: Error retrieving pid file envvars
AH00059: Remove it before continuing if it is corrupted.
Action 'start' failed.
The Apache error log may have more information.
*
Apache 错误日志可能有更多信息。
但事实并非如此。
答案1
在撰写本文时,这个问题的唯一其他答案已不再正确,因此在此添加此答案,以供正在谷歌搜索的人使用。截至 2022 年 3 月,WSL 的两个版本都可以与 Apache 和 MySQL 等服务配合使用 - 我经常使用它们。您需要先安装它们,因为它们没有随默认的 Ubuntu 发行版一起安装,但一个简单的
sudo apt install apache2 mysql-server
可以解决问题。安装 Apache 后,您可以在 Windows 浏览器中导航到 http://localhost 并查看默认的 Apache 页面。
警告:除了本地开发之外,我还没有尝试过这种方法。对于生产服务器,我肯定会使用完整的 Linux 安装,或者如果您的环境需要是 Windows,则使用基于 Windows 的本机 Web 服务器。
答案2
来自WSL 常见问题解答:
我可以在 WSL 中运行所有 Linux 应用程序吗?
不!WSL 是一种旨在让有需要的用户在 Windows 上运行 Bash 和核心 Linux 命令行工具的工具。
WSL 不旨在支持 GUI 桌面或应用程序(例如 Gnome、KDE 等)
此外,即使你能够运行许多流行的服务器应用程序(例如 Redis),我们不建议使用 WSL 来托管生产服务– 微软提供了多种解决方案,用于在 Azure、Hyper-V 和 Docker 中运行生产 Linux 工作负载。
虽然你可能能够通过一些研究和努力让 Apache 工作,我认为 MS 的建议是可靠的。您可能不想在 Windows 桌面上运行来自 Windows 应用商店应用的 Web 服务器。WSL 不是完成这项任务的合适工具。