十行代码实现一个简单的静态Web服务器
ugmp1343
8年前
<p>这段时间新的项目,大部分都是动态的HTML5搭建的,需要在手机端测试适配问题,因此需要在本地搭建一个Web服务器,用于手机访问,但是可怜的网络下载100多M的XAMPP始终下不了,忽然灵机一动,以前学的Flask不是自带一个测试用的Web服务器,刚好可以用来做一个简单的静态Web服务器。</p> <p>首先需要安装Python环境,可以 官网 去下载,然后next,next安装完成。</p> <p>最新的Mac OS Sierra系统安装的Python没有自带 pip ,需要使用命令 sudo easy_install pip 手动安装 pip 。使用 sudo pip install Flask 安装好Flask框架,因为只是用来做一个简单的Web服务器,所以暂时不考虑使用 virtualenv 开发环境。</p> <p>创建项目目录如下:</p> <pre> <code class="language-python">WebServer ├── static ├── WebServer.py</code></pre> <p>static 目录就是我们需要存放静态HTML以及资源文件, WebServer.py 就是我们开启服务器的文件, 代码如下:</p> <pre> <code class="language-python">from flask import Flask app = Flask(__name__) @app.route('/<path:path>') def hello_world(path): return app.send_static_file(path) if __name__ == '__main__': app.run(host='0.0.0.0', port='5000')</code></pre> <p>host='0.0.0.0' 表示Flask可以进行外网访问, port='5000' 为访问端口为5000,将你需要访问的静态文件放入到 static 目录中,然后在在命令行中用cd切换到 WebServer.py 的目录下,运行命令 python WebServer.py 启动服务器,然后可以在浏览器中输入:</p> <pre> <code class="language-python">http://ip地址:port端口/静态文件Path</code></pre> <p>比如 http://192.168.1.104:5000/web/index.html ,就可以在局域内进行访问了。</p> <p>不过每次都复制文件到 static 目录中是比较麻烦的事情,我们可以使用 ln 命令创建Web项目文件夹的软链接到 static 目录中,命令为 ln -s 项目文件夹 static目录 。 建立软链接后,只需要命令启动服务器,就可以在浏览器中输入地址查看效果。</p> <p> </p> <p>来自:http://www.jianshu.com/p/d163d6f98803</p> <p> </p>