手动搭建SimpleHTTPServer
1.cd 到你想共享的目录
2.运行程序 python -m SimpleHTTPServer(默认端口8000)
3.浏览器输入http://ip:8000
有时候希望http服务器始终是运行状态,或者想共享多个不同路径的目录,导致端口混乱或服务宕掉,希望有一个程序在后台始终监控服务的运行状态,挂掉后重启。
这里使用supervisord程序后台监管SimpleHTTPServer服务。
安装教程详见我的博客CentOS7 supervisor安装、配置、实战
1.安装supervisor
2.写脚本 copy到/usr/local/bin/SimpleHTTPServer
#!/bin/bash
cd /usr/local/src ##共享的目录
python -m SimpleHTTPServer 8000 ##启动SimpleHTTPServer服务
chmod +x /usr/local/bin/SimpleHTTPServer
3.在最后添加以下配置 文件名/etc/supervisord.conf
[program:SimpleHTTPServer]
command=/usr/local/bin/SimpleHTTPServer
autostart=true
autorestart=true
startsecs=5
priority=1
user=root
stopasgroup=true
killasgroup=true
4.启动supervisord
$ systemctl restart supervisord.service
$ supervisorctl status
SimpleHTTPServer RUNNING pid 4600, uptime 0:02:21
我们知道SimpleHTTPServer 只支持单线程下载,下载小文件倒是没什么问题,等待时间不会太长,如果是下载大文件,只能一个一个下载,效率很低。可以改下代码使其支持多线程下载。
## myserver.py
import SocketServer
import SimpleHTTPServer
import BaseHTTPServer
class MyThreadingHttpServer( SocketServer.ThreadingTCPServer, BaseHTTPServer.HTTPServer):
pass
if __name__ == "__main__":
BaseHTTPServer.test( SimpleHTTPServer.SimpleHTTPRequestHandler, MyThreadingHttpServer)
启动:
$ cat /usr/local/bin/SimpleHTTPServer
#!/bin/bash
cd /data/jenkins/workspace ##共享的目录
#python -m SimpleHTTPServer 8000 ##启动SimpleHTTPServer服务
python /root/Shell/myserver.py