一个乐于分享的博客
关注互联网折腾服务器分享码农的日常

基于Python:一行代码创建HTTP/FTP服务器

基于Python:一行代码创建HTTP/FTP服务器

日常工作或测试时,往往需要使用web环境测试静态页,或者使用FTP传输文件等。Linux平台有多种多样的HTTP和FTP软件,但对于这处临时需求,就有点杀鸡用牛刀的意思了。现在只要是系统中有Python环境,只需一行代码,瞬间启动服务。

HTTP服务

一行代码启动HTTP服务

python -m SimpleHTTPServer 81

运行上述代码后,会将当前目录作为web服务的根目录,所以在运行之前,需要先准备好相当的网页文件。

最后的81指端口号,正确执行之后访问http://yourIp:81即可打开网页。

FTP服务

虽然上述HTTP服务也能进行文件下载,但是FTP在应用于大文件传输或其他应用挂载时,都更加方便。

由于FTP服务并不是Python自带模块,所以需要先安装一下

pip install pyftpdlib

基础用法

最简单用法,使用仍然是一行代码实现:

python -m pyftpdlib

代码的作用是将当前目录设置为FTP根目录,并且允许默认访问,默认端口为2121

访问FTP服务器只需输入ftp://yourIp:2121即可。

进阶用法

如果想设置非匿名访问,就需要增加用户名密码了,只需增加两个参数即可

python -m pyftpdlib -u ftpUser -P yantuz.cn

其中-u指定当前用户名为ftpuser-P指定访问密码为yantuz.cn

其他参数:

-p:指定端口,默认为2121

-d:指定目录,默认为当前目录

-w:读写权限,默认只读权限

扩展操作

虽然本文介绍的是临时搭建,但是Python仍然可以提供稳定的服务,如果希望服务长期运行,只需使用nohup命令,或者直接将脚本放入开机启动文件rc.local中。

让FTP服务在后台运行:

nohup python -m pyftpdlib -d /root/ftp &

开机自启动:

echo "nohup python -m pyftpdlib -d /root/ftp &" >> /etc/rc.local

文章参考:https://www.91yun.co/archives/32341

转载务必注明出处:岩兔站 » 基于Python:一行代码创建HTTP/FTP服务器
赞 (1) or 打赏

讨论区 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    偷懒方法GET!!(这比用Go语言写个Web服务程序还要简单)

    Omega6年前 (2018-08-20)回复