【SimpleHTTPServer】Linux上使用 python -m SimpleHTTPServer 快速搭建http服务

一、实验背景


在 Linux 服务器上或安装了 Python 的机器上,可以使用 nohup python -m SimpleHTTPServer [port] & 快速搭建一个http服务。

在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer。

我们可以很简单的使用  python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web服务。


二、实验操作


在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer。

#  nohup python -m SimpleHTTPServer [port] & 

我们可以很简单的使用  python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web服务。

# python -m SimpleHTTPServer  8000

使用上面的命令可以把当前目录发布到8000端口

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

# python -m SimpleHTTPServer  8000  &

在上述命令的最后加一个 & ,则该命令产生的进程在后台运行,不会影响当前终端的使用(我们在只有一个bash的环境下)。

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

# nohup  python  -m  SimpleHTTPServer 8000 &

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

# nohup python -m SimpleHTTPServer  &

[1] 30513

# nohup: 忽略输入并把输出追加到 "nohup.out"

# netstat  -pantu  | grep  8000

tcp        0      0 0.0.0.0:8000  0.0.0.0:*                  LISTEN      3200/python

在某个目录下开启此服务,默认将此目录作为访问的根目录。

如果当前目录下,有index.html 文件,默认访问此文件,如果没有,就显示当前目录所有文件。

关闭防火墙或者防火墙放行 8000端口,然后浏览器访问 http://xx.xx.xx.xx:8000


三、一键脚本


将上述操作脚本化,写成一键安装脚本

https://github.com/IamMichael/SimpleHTTPServer.git


使用方式:

#  git clone https://github.com/IamMichael/SimpleHTTPServer.git 

# cd  SimpleHTTPServer  


#  vim  SimpleHTTPServer  

 # sh install_SimpleHTTPServer.sh 



带上传功能的文件服务器的实现

http://li2z.cn

https://gitee.com/zongxipeng/SimpleHTTPServer

https://gitee.com/zongxipeng/SimpleHTTPServer.git



四、参考


nohup和&究竟有啥区别?

https://www.jianshu.com/p/5e9c4871e8f8


用SimpleHTTPServer快速搭建局域网yum源

https://www.jianshu.com/p/938689278c07


使用 python -m SimpleHTTPServer 快速搭建http服务

https://www.cnblogs.com/lmg-jie/p/9564608.html

你可能感兴趣的:(【SimpleHTTPServer】Linux上使用 python -m SimpleHTTPServer 快速搭建http服务)