首页 > 有哪些类似于Python SimpleHTTPServer的轻量级服务器程序?

有哪些类似于Python SimpleHTTPServer的轻量级服务器程序?

有时候简单调试一个页面开个Apache好像太杀鸡用牛刀。
Python的SimpleHTTPServer服务可以用一句话开启一个非常简单的服务器程序。
想了解一下还有没有其他类似的程序可以一句话开启一个服务器?


php -S localhost:8888


Node.js的
node app.js


ruby的

$ ruby -e 'require "rack"; Rack::Handler.pick(%w/ thin webrick /).run(Rack::Directory.new ".")'

npm install http-server -g


PHP从5.4开始内置了一个用于开发和测试的HTTP服务器:
https://wiki.php.net/rfc/builtinwebserver
http://php.net/manual/zh/features.commandline.webserver.php

/path/to/php -S 127.0.0.2:8181 -t /www /www/app.php
/www/app.php
<?php
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
if (file_exists(dirname(__FILE__).$uri)) {
    return false; //如果请求的文件或目录存在,直接返回
} else {
    print_r($url); //分析URI,进行路由
}
//上面这段PHP代码跟采用index.php作为前端控制器(路由)的框架的重写规则含义相近.

<?php
$ua = 'abc123';
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']===$ua) {
    return false;
} else {
    exit('Auth Failed');
}
//上面这个代码相当于实现Apache的AuthType Basic,也就是需要一个"密码"才能访问服务.

我在Android上写了个App用Java调用PHP起一个HTTP服务,然后开一个WebView访问本地PHP服务,通过PHP操作文件系统和网络,用随机生成的UserAgent来验证应用WebView防止本地浏览器直接访问,RSS内存占用约5MB:

测试手机网页我也会用PHP内置的服务器,比如小米手机测试Ubuntu笔记本上的PHP网页:
Ubuntu笔记本和小米手机都连上小米路由.
ifconfig wlan0 查看Ubuntu的IP为 192.168.31.156
php -S 192.168.31.156:8080 -t ./
如果没有无线路由,可以在Ubuntu笔记本上用hostapd建立无线网络:
http://my.oschina.net/eechen/blog/227230

开放8080端口:
sudo ufw allow 8080/tcp && sudo ufw status
禁用8080端口:
sudo ufw delete allow 8080/tcp

扫描二维码或者输入地址访问网页:
qrencode -o mi.png http://192.168.31.156:8080

可以从PHP CLI Server的控制台看到手机的IP地址.
手机在锁屏后轮询的AJAX请求会被暂停.


ruby -run -e httpd . -p 8000
python -m SimpleHTTPServer 8000   //python2
python -m http.server            //python3
php -S 127.0.0.1:8000 router.php

node

npm install -g anywhere

anywhere -p 8000
【热门文章】
【热门文章】