翻墙入口,Telegram上最大的免费科学上网解决方案提供者,
致力于维护互联网世界普世自由价值、建立翻墙行业新秩序。

『原创』SimpleHTTPServer 快速搭建HTTP Web服务 + 一键脚本

本文最后更新于 2018年9月20日 19:53 可能会因为没有更新而失效。如已失效或需要修正,请留言!

有的时候你可能需要临时下载VPS中某个文件,但是又没有或者不想用SFTP去下载,那你可能就需要SimpleHTTPServer了。

SimpleHTTPServer是python自带的一个HTTP服务,可以方便的搭建一个临时的HTTP服务,提供文件浏览和下载的web服务。

使用步骤

注意,因为SimpleHTTPServer是python自带的一个组件,所以使用这个命令的前提就是系统已安装python

检查Python是否安装:

python -V # 正常情况下应该返回 Python 2.7.x ,如果返回命令找不到 python: command not found ,那么说明没有安装Python。 

安装 Python:

# CentOS 系统: yum update && yum install python python2.7 -y  # Debian/Ubuntu 系统: apt-get update && apt-get install python python2.7 -y

如果你只是临时想要下载几个VPS中的文件,那你可以直接使用,如果你是需要频繁的开放某个文件夹,以HTTP下载文件,那你适合使用脚本

注意:如果你开放的文件夹中有 index.html 文件,那会直接显示这个文件,如果没有这个文件那会以 文件列表的形式 显示目录下所有文件。

无论使用那种方法创建HTTP服务,创建完成之后都可以通过 http://VPS-IP:8000 访问你刚才开放的文件夹,默认是8000 可以自己改。

直接使用

前台运行:

首先 cd 到你要开放的文件夹中,然后使用下面的命令可以把 当前文件夹内的所有文件 发布到VPS的 8000 端口。

但是这条命令是直接在前台运行,不是后台运行的,也就是说如果 Ctrl + C ,则该端口就会关闭。

python -m SimpleHTTPServer 8000 

后台运行:

在上述命令的最后加一个 & ,则该命令产生的进程在后台运行,不会影响当前终端的使用。

生成的新的进程为当前SSH的子进程,所以,当我们关闭当前SSH链接时,相应的子进程也会被kill掉,这也不是我们想要的结果。

python -m SimpleHTTPServer 8000 & 

在命令的开头加一个 nohup ,忽略所有的挂断信号,如果当前SSH链接关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其 8000 端口也可以使用。

nohup python -m SimpleHTTPServer 8000 & 

结束进程:

如果你是直接用第一个命令前台运行,那你可以直接使用 Ctrl + C 来关闭HTTP服务。

如果你使用 & 或者 nohup 把进程放到了后台运行,那你就需要使用下面这个命令结束进程。

eval $(ps -ef | grep "[0-9] python -m SimpleHTTPServer" | awk '{print "kill "$2}') 

脚本使用

无论使用那种方法创建HTTP服务,创建完成之后都可以通过 http://VPS-IP:8000 访问你刚才开放的文件夹,默认是8000 可以自己改。

下载启动/停止脚本,并赋予执行权限。

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/pythonhttp.sh && chmod +x pythonhttp.sh 

启动HTTP服务器:

bash pythonhttp.sh start 

停止HTTP服务器:

bash pythonhttp.sh stop 

查看日志(日志位于你开放HTTP的文件夹内):

cat httpserver.log 

如果你需要持续的查看/监控日志,那可以使用这个命令:

tail -f httpserver.log 

启动脚本后,会提醒你输入要开放的HTTP端口 和 目录。

请输入要开放的端口 [1-65535]: (默认端口: 8000):  请输入你要开放的目录(绝对路径): (直接回车, 默认当前文件夹):  ======================== 请检查配置是否正确 !  端口 : 8000 目录 : /root ========================  按任意键继续,如有错误,请使用 Ctrl + C 退出.  HTTP服务器已经启动。 地址: http://VPS_IP:8000 

脚本默认的SimpleHTTPServer端口是 8000 ,默认回车是开放脚本当前所在的 目录。

如果你需要重新开一个其他目录的HTTP服务器,那么不需要 bash pythonhttp.sh stop 停止,可以直接 bash pythonhttp.sh start ,因为会自动检测并停止已经运行的HTTP服务器。


这个脚本很简单,也只是我随手写的,因为主要考虑到这个命令本身就是为了快捷的开放一个临时的HTTP服务,如果写的太复杂就失去了意义。如果有什么BUG记得下面评论留言!

阅后请多多推广本文:逗比根据地 » 『原创』SimpleHTTPServer 快速搭建HTTP Web服务 + 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞(0)
未经允许不得转载:翻墙党 » 『原创』SimpleHTTPServer 快速搭建HTTP Web服务 + 一键脚本
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址