• centos---启动一个简单的http服务器python -m SimpleHTTPServer


    我们可以很简单的使用  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端口也可以使用。

    浏览器访问:http://{ip}:8000/

    curl -L  http://{ip}:8000/test.sh

     

    Python的-m参数

    1、在命令行中启动Python脚本的时候,经常会用到-m参数,那么-m起了什么作用呢?

    2、先看看 python --help 给出的信息:

    run library module as a script (terminates option list)

    意思是将库中的python模块用作脚本去运行。

    3、常用例子

    python -m SimpleHTTPServer    #python2中启动一个简单的http服务器
    python -m http.server    #python3中启动一个简单的http服务器

    4、将模块当做脚本去启动有什么用?

    1. python xxx.py
    2. python -m xxx.py

    这是两种加载py文件的方式:
    1叫做直接运行
    2相当于import,叫做当做模块来启动

    不同的加载py文件的方式,主要是影响sys.path这个属性。sys.path相当于Linux中的PATH

    复制代码
    >>> import sys
    >>> sys.path
    ['', 'D:\Python3\lib\site-packages\django-1.10.1-py3.5.egg', 'D:\Python3\l
    ib\site-packages\psycopg2-2.6.2-py3.5-win32.egg', 'D:\Python3\python35.zip',
     'D:\Python3\DLLs', 'D:\Python3\lib', 'D:\Python3', 'D:\Python3\lib\site
    -packages']
    复制代码

    这就是当前Python解析器运行的环境,Python解析器会在这些目录下去寻找依赖库。

  • 相关阅读:
    LeetCode OJ Remove Duplicates from Sorted Array II
    LeetCode OJ 75. Sort Colors
    LeetCode OJ 74. Search a 2D Matrix
    LeetCode OJ 73. Set Matrix Zeroes
    Taglist
    NERDTree
    Beyond Compare 4
    Beyond compare vs kdiff3
    切換 java compiler 版本
    PE+ 1.0 ( Pump Express Plus 1.0 )
  • 原文地址:https://www.cnblogs.com/huanglinxin/p/9455559.html
Copyright © 2020-2023  润新知