日常工作或测试时,往往需要使用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
偷懒方法GET!!(这比用Go语言写个Web服务程序还要简单)