我正在寻找一种相对轻松的方法来启动一个 Web 服务器,其文档根目录位于我指定的任何文件夹中(或者更好的是,在我启动的地方)。
我经常在某个新文件夹中尝试新的东西,例如 JS 框架等:
/home/alexander/code/angularjs/
然后只需进入该目录并输入以下命令即可:
start-webserver-here
这样 Web 服务器就开始监听 80 端口并提供该目录的服务,我就可以尝试我正在处理的任何工作了。
我已经安装了 XAMPP,但它似乎是基本的 apache,我必须更改文档根目录,甚至具有根权限,以及授予每个文件夹的权限等。
有更容易的方法吗?
答案1
使用
python2 -m SimpleHTTPServer 80
或者
python3 -m http.server 80
启动一个简单的 HTTP 服务器。
80
如果您希望它监听其他端口,请将其替换为其他数字。对于小于 1024 的端口,它需要以 root 权限运行。
答案2
答案3
答案4
在 Ubuntu(可能还有几乎所有其他 Linux 发行版)上,你已经拥有忙碌盒子安装。如果没有,那么在 Ubuntu 上你可以安装sudo apt install busybox-static
。这样你就可以运行httpd:
busybox httpd -f -vv -p 8080
然后打开 http://localhost:8080
在来源中源码您可能会发现更多详细信息。它非常有限,但几乎具有所有基本功能,如基本身份验证、通过 ETag 进行缓存验证、提供预压缩的 gzip 文件和 CGI 脚本。
顺便说一下,BusyBox 也广泛用于嵌入式设备:WiFi 路由器、电视盒等。
但是 OpenWrt,作为 WiFi 路由器的开源固件,使用自己的 http 服务器:uhttpd。它受 bb-httpd 启发,并具有内置 Lua 解释器等更多功能。您可以在任何其他 Linux 上编译和安装它。
是的,它不是内置于 Ubuntu 中并且不太容易安装,但如果您仍然想要一个占用空间较小的 Web 服务器但 bb-httpd 不能满足您的需求,它可能会很有用。
对于 Ubuntu,我创建了一个电力供应协议其中包含 uhttpd。