在完成一本关于 HTML5 的书的一些练习时,我看到了一章关于安装服务器以测试 Web 应用程序的内容。问题是,这本书只是假设所有 Linux 发行版的用户都知道在他们的机器上设置哪些服务器以及如何设置服务器。作者还声称 Linux 发行版可能默认安装了 Apache。
Ubuntu 16.04 也是这种情况吗?如果是这样,我该如何访问它来测试我的 Web 应用程序?如果不是,我有什么其他选择?
答案1
我建议你把事情简单化。你可以用一个命令安装 Apache2、MySQL、PHP 和所有必需的依赖项。
安装
在你的终端输入:
sudo apt install lamp-server^
如果您有sudo
权限,系统会提示您输入密码。输入密码后,apt 将汇总所需依赖项的列表。
然后它会询问您是否确认安装这些软件包。
按Y,然后按Enter键
在安装软件包的过程中,您将看到屏幕变为如下所示的样子:
输入 MySQL 的新root
密码。这是您将用于调整数据库和用户权限的 MySQL 管理员密码。
您将再次被提示:
再次输入新的 root 密码,然后按Enter
达成
这将安装并启动 Apache2、MySQL 和 PHP 7。
您的网站的根目录将是:
/var/www/html
你可以将文件放在此目录中,网址为:
http://<ip address of server>/
笔记
index.html
请记住,内部已经有一个/var/www/html
您可能需要替换或删除的东西。
答案2
Matt,正如你问到的有关测试 Web 应用的替代方案,你可以简单地使用 Python 的内置 Web 服务器 with python -m SimpleHTTPServer
。这对于基本需求来说非常有效。
我提到这一点是因为,除非需要特定的 Apache 功能,否则您可以完全跳过 LAMP 堆栈的安装,因为 Ubuntu 16.04 已经安装了 Python,这样您就可以在零安装的情况下获得 SimpleHTTPServer。
答案3
LAMP 代表 Linux、Apache、MySQL、PHP。由于我假设您只想运行一个简单的网站,因此您不需要 MySQL 或 PHP。
或者,如果你不需要向外界开放,你可以尝试一些更简单的事情,例如livereload
答案4
如果您需要一个 Web 服务器,您可以使用 Python 的内置 Web 服务器,例如 richbl(前面提到过),PHP 内置 Web 服务器甚至 NodeJS Web 服务器,这些服务器都非常容易安装。
老实说,我的建议是不要直接在系统上安装此类工具。你最好使用 Vagrant 来做到这一点。例如,你可以使用斯科斯盒子来自 sctoch.io,它附带了几十种预装的用于 Web 开发的工具。
您唯一需要做的就是在您的系统上安装 Virtual Box,然后下载该 Scotch Box。使用这种解决方案的好处非常显著,因为如果您搞乱了配置或与 Web 服务器相关的任何其他内容,您可以轻松执行此操作,vagrant destroy
然后所有内容都将被删除(请记住,在执行此操作之前,不要忘记从 /var/www 备份您的文件)。然后vagrant up
从互联网上下载新的 Scotch Box 后再执行此操作。
也许要完全理解 vagrant 和 vagrant boxes 可能有点困难,但相信我,拥有这样的开发环境真的很方便。最大的好处是让您的操作系统远离杂乱的 Web 开发工具,因为您不需要在您的操作系统上一直运行 Apache,而只需要一两次。