Flask项目部署
nginx配置虚拟主机
- 在nginx的配置文件/usr/local/nginx/conf/nginx.conf,末尾添加一行
include vhost/*.conf; - 在/usr/local/nginx/conf目录下创建vhost目录
mkdir vhost - 进入vhost目录,创建一个新的虚拟主机的配置文件(www.blog.com.conf)
cd vhost
vim www.blog.com.conf www.blog.com.conf文件内容如下:
server {
listen 80;
server_name www.blog.com;location / { root html/blog; # 包含传递给uwsgi的参数 include uwsgi_params; # 请求的转发地址 uwsgi_pass 127.0.0.1:5000; }
}
- 创建项目根目录html/blog,然后添加测试文件index.html
cd /usr/local/nginx/html
mkdir blog
cd blog
vim index.html
内容如下:
welcome
- 重启nginx服务
service nginx restart # 重启服务
service nginx reload # 重新加载配置
添加flask项目
- 安装python3
配置:./configure –prefix=/usr/local/python3
编译:make
安装:make install
创建软连接:
python3:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
pip3:
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 - 回顾web工作原理
客户端 <=> web服务器(nginx) <=> wsgi(uWSGI) <=> Python(flask框架) <=> 数据库 - 安装uWSGI软件
pip3 install uwsgi 在html/blog目录下创建webapp.py文件,内容如下:
from flask import Flaskapp = Flask(name)
@app.route(‘/’)
def index():
return ‘Hello Flask!’if name == ‘main‘:
app.run()- 启动uwsgi程序
uwsgi –socket 127.0.0.1:5000 –wsgi-file webapp.py –callable app
若想使用flask自带的http测试服务,启动参数如下:
uwsgi –http 本机IP:端口 –wsgi-file webapp.py –callable app - 将启动参数写入到文件(uwsgi.ini)中,如下:
[uwsgi]
socket = 127.0.0.1:5000
wsgi-file = webapp.py
callable = app
启动:uwsgi uwsgi.ini - 静态资源处理
在server中添加一个location,内容如下:
location /static {
root html/blog;
# 两种方式都可以
alias html/blog/static;
}
测试:在项目目录下创建static目录,然后添加一张图片xinsen.jpg
访问:www.blog.com/static/xinsen.jpg