通过python快速搭建http服务
python -m SimpleHTTPServer 快速搭建http服务有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时可以使用 Python 内建的 SimpleHTTPServer 模块快速搭建一个简单的 HTTP 服务器。
使用python -m SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的 Web 页面的方式展示出来。
如我想把目录/Users/xiaodu/python/test目录下的内容通过web共享出来,目录内容如下:
ls -la
total 32
drwxr-xr-x 6 xiaodu staff 204 9 9 23:26 .
drwxr-xr-x 31 xiaodu staff 1054 1 13 23:16 ..
-rw-r--r-- 1 xiaodu staff 236 9 9 16:59 for.py
-rw-r--r-- 1 xiaodu staff 187 9 9 16:45 lambda.py
-rw-r--r-- 1 xiaodu staff 287 9 9 16:54 pprint.pyc
-rw-r--r-- 1 xiaodu staff 377 9 9 17:09 yield.py
只需执行下面的命令 python -m SimpleHTTPServer不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:
通过浏览器访问:http://localhost:8000
Directory listing for /
如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。
命令如下:
python -m SimpleHTTPServer 8000
使用上面的命令可以把当前目录发布到8000端口。
但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C,则该端口就会关闭。
python -m SimpleHTTPServer 8000 &
在上述命令的最后加一个 & ,则该命令产生的进程在后台运行,不会影响当前终端的使用(我们在只有一个bash的环境下)。
生成的新的进程为当前bash的子进程,所以,当我们关闭当前bash时,相应的子进程也会被kill掉,这也不是我们想要的结果。
nohup python -m SimpleHTTPServer 8000 &
在命令的开头加一个nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其8000端口也可以使用。
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)