我正在寻找一种相对轻松的方式来在我指定的任何文件夹(或者更好的是,我正在启动的位置)中启动具有文档根目录的 Web 服务器。
我经常在这里的某个新文件夹中尝试诸如 JS 框架之类的新东西:
/home/alexander/code/angularjs/
Run Code Online (Sandbox Code Playgroud)
然后进入这个目录并输入如下内容会很方便:
start-webserver-here
Run Code Online (Sandbox Code Playgroud)
以便网络服务器开始侦听端口 80 并为该目录提供服务,我可以尝试我正在处理的任何内容。
我已经安装了 XAMPP,但它似乎是带有文档根目录的基本 apache,我必须更改,甚至具有根权限,以及为每个文件夹授予权限等。
有更容易的方法吗?
Flo*_*sch 220
用
python2 -m SimpleHTTPServer 80
Run Code Online (Sandbox Code Playgroud)
或者
python3 -m http.server 80
Run Code Online (Sandbox Code Playgroud)
启动一个简单的 HTTP 服务器。
80如果您希望它在不同的端口上侦听,请替换为另一个号码。对于小于 1024 的端口,它需要以 root 权限运行。
met*_*mit 29
我也喜欢为此目的使用 PHP,因为它使我能够即时运行 WordPress 之类的东西并更轻松地开发主题(不过,您仍然需要 MySQL):
php -S 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
在启动它的同一个脚本中,我还启动了guard,它会在文件更改时自动刷新浏览器。
wil*_*ted 18
如果您更喜欢红宝石,那么服务宝石很棒
serve
Run Code Online (Sandbox Code Playgroud)
或者对于我不同的端口:
serve 9000
Run Code Online (Sandbox Code Playgroud)
安装 gem install serve
Ser*_*rev 10
在 Ubuntu(可能还有几乎所有其他 Linux 发行版)上,您已经安装了BusyBox。如果没有,那么您可以在 Ubuntu 上安装sudo apt install busybox-static. 所以你可以运行httpd:
busybox httpd -f -vv -p 8080
Run Code Online (Sandbox Code Playgroud)
然后打开http://localhost:8080
在来源httpd.c中您可以找到更多详细信息。它非常有限,但具有几乎所有基本功能,例如基本身份验证、ETag 缓存验证、提供预压缩 gzip 文件和 CGI 脚本。
顺便说一句,BusyBox 还广泛应用于嵌入式设备:WiFi 路由器、电视盒等。
但是 OpenWrt(WiFi 路由器的开源固件)使用自己的 http 服务器:uhttpd。它受到 bb-httpd 的启发,并具有更多功能,例如内置 Lua 解释器。您可以在任何其他 Linux 上编译并安装它。
是的,它没有内置在 Ubuntu 中,安装起来也不那么容易,但是如果您仍然想要一个占用空间较小的 Web 服务器,但 bb-httpd 不符合您的需求,这可能会很有用。
对于 Ubuntu,我创建了一个包含 uhttpd 的PPA 。
小智 8
只需使用http-server,它是一个零配置的命令行服务器。
安装它的最简单方法是通过 npm:
sudo npm install http-server -g
Run Code Online (Sandbox Code Playgroud)
用法:
http-server [path] [options]
Run Code Online (Sandbox Code Playgroud)
[path]./public如果文件夹存在,则默认为,./否则为。
要查看您的服务器的运行情况,请访问http://localhost:8080。使用-p选项设置不同的端口。
更多选项请访问:https : //www.npmjs.com/package/http-server。