Python 一行命令部署http、ftp服务

Python 一行命令部署http服务

具体操作命令如下

  • 这个比nginx相对来说更加简单,可以用于部署特殊场景时如银行等部署时,各种权限控制,内网之间可以分发部署包。

  • 首先进入需要访问下载对应目录

root@raspberrypi:~ $ cd tmpfile
  • 如果Python版本为2.x,输入命令
python -m SimpleHTTPServer 80
  • 如果Python版本为3.x,输入命令
python -m http.server 80

浏览器返回下载

  • 浏览器下载

  • wget下载
pi@raspberrypi:~ $ wget 10.130.77.55/ZabbixSendApi.tar.gz
--2023-06-25 14:47:15--  http://10.130.77.55/ZabbixSendApi.tar.gz
Connecting to 10.130.77.55:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6018461 (5.7M) [application/gzip]
Saving to: ‘ZabbixSendApi.tar.gz’
ZabbixSendApi.tar.gz                                               
100%[============================================================================================================================>] 5.74M  16.4MB/s    in 0.4s    
2023-06-25 14:47:15 (16.4 MB/s) - ‘ZabbixSendApi.tar.gz’ saved [6018461/6018461]

Python 一行命令部署FTP服务

  • 快速部署FTP 服务器来临时实现文件上传下载时,利用 PythonPyftpdlib 模块可以快速的实现一个 FTP 服务器的功能。

  • pyftpdlib安装

[root@api1 ~]# pip install pyftpdlib
  • pyftpdlib 帮助信息
[root@api1 site-packages]# python -m pyftpdlib --help
Usage: python3 -m pyftpdlib [options]

Start a stand alone anonymous FTP server.

Options:
  -h, --help
     show this help message and exit

  -i ADDRESS, --interface=ADDRESS
     specify the interface to run on (default all interfaces)

  -p PORT, --port=PORT
     specify port number to run on (default 2121)

  -w, --write
     grants write access for logged in user (default read-only)

  -d FOLDER, --directory=FOLDER
     specify the directory to share (default current directory)

  -n ADDRESS, --nat-address=ADDRESS
     the NAT address to use for passive connections

  -r FROM-TO, --range=FROM-TO
     the range of TCP ports to use for passive connections (e.g. -r 8000-9000)

  -D, --debug
     enable DEBUG logging level

  -v, --version
     print pyftpdlib version and exit

  -V, --verbose
     activate a more verbose logging

  -u USERNAME, --username=USERNAME
     specify username to login with (anonymous login will be disabled and password required if supplied)

  -P PASSWORD, --password=PASSWORD
     specify a password to login with (username required to be useful)
  • ftp案例
    • 使用10001端口,指定/tmp为存储目录,使用用户名admin,密码Python@123
[root@api1 python  -m pyftpdlib -p 10001 -w -d /tmp/ -u admin -P Python@123
  • 客户端登录验证
[root@api1 ~]# ftp 10.130.41.10 10001
Connected to 10.130.41.10 (10.130.41.10).
220 pyftpdlib 1.5.9 ready.
Name (10.130.41.10:root): admin
331 Username ok, send password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering passive mode (10,130,41,10,167,170).
125 Data connection already open. Transfer starting.
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .ICE-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .Test-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .X11-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .XIM-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .font-unix
-rw-r--r--   1 root     root      2508216 Jan 16 09:14 11.txt
-rw-r--r--   1 root     root     13205746 Jan 16 09:13 1629.pcap
drwxr-xr-x   2 agent    agent        4096 Jan 03 05:40 hsperfdata_agent
drwxr-xr-x   2 portal   portal       4096 Jan 16 08:58 hsperfdata_portal
drwx------   3 root     root         4096 Jan 03 05:34 systemd-private-8fca0ca0813b472a8292a045e324735f-chronyd.service-h16uCI
226 Transfer complete.
ftp> put 11.txt  
local: 11.txt remote: 11.txt
227 Entering passive mode (10,130,41,10,157,167).
125 Data connection already open. Transfer starting.
226 Transfer complete.
2508216 bytes sent in 0.00447 secs (560495.23 Kbytes/sec)

ftp> get  11.txt  
local: 11.txt remote: 11.txt
227 Entering passive mode (10,130,41,10,184,184).
125 Data connection already open. Transfer starting.
226 Transfer complete.
2508216 bytes received in 0.0201 secs (124520.48 Kbytes/sec)
ftp> 

本文由mdnice多平台发布

相关推荐

  1. 安装docker后部署一个redis服务

    2024-01-19 20:16:02       37 阅读
  2. docker 部署并运行一个服务

    2024-01-19 20:16:02       34 阅读
  3. Openstack(T) 部署Ceilometer服务 ---mongo命令error

    2024-01-19 20:16:02       43 阅读
  4. python一些常用命令汇总(持续更新……)

    2024-01-19 20:16:02       44 阅读
  5. 使用mac自带服务器一行命令即可启动)

    2024-01-19 20:16:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 20:16:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 20:16:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 20:16:02       87 阅读
  4. Python语言-面向对象

    2024-01-19 20:16:02       96 阅读

热门阅读

  1. C语言:分支与循环——if else

    2024-01-19 20:16:02       62 阅读
  2. gin使用教程

    2024-01-19 20:16:02       54 阅读
  3. HCLA从基础到成熟

    2024-01-19 20:16:02       41 阅读
  4. layui laydate选择时间的回调方法

    2024-01-19 20:16:02       49 阅读
  5. SpringMVC mss整合

    2024-01-19 20:16:02       37 阅读
  6. 【蓝桥杯/动态规划】数的计算

    2024-01-19 20:16:02       54 阅读
  7. SpringMVC下半篇之文件上传

    2024-01-19 20:16:02       45 阅读
  8. 【git】解决网络连接问题

    2024-01-19 20:16:02       50 阅读
  9. OpenHarmony基于HDF简单驱动开发实例

    2024-01-19 20:16:02       42 阅读