美文网首页
Python 一行命令部署http、ftp服务

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

作者: 平凡的运维之路 | 来源:发表于2024-01-15 17:26 被阅读0次

    Python 一行命令部署http服务

    [TOC]

    具体操作命令如下

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

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

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

    浏览器返回下载

    • 浏览器下载


      image.png
    • 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> 
    

    相关文章

      网友评论

          本文标题:Python 一行命令部署http、ftp服务

          本文链接:https://www.haomeiwen.com/subject/fyyhodtx.html