创建一个简单的flask项目
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0',port=5000)
安装uwsgi。
这里我用的是python2.7
pip install uwsgi
编辑uwsgi的配置文件,uwsgi.ini
[uwsgi]
socket = 127.0.0.1:5000
#由于外部还要嵌套Nginx,这里可以使用socket进行通信,如果Nginx和uwsgi部署在同一台机器上,直接使用127.0.0.1
#如果外部直接通过uwsgi访问服务,需将socket改为http-socket或者http,将127.0.0.1改为0.0.0.0
chdir = /home/flask_project
#项目目录
wsgi-file = app.py
#编写flask代码的py文件
callable = app
#Flask应用对象
daemonize = /home/flask_project/uwsgi.log
#进程会在后台运行,并输出日志
pidfile = /home/flask_project/uwsgi.pid
# pid进程
然后可以直接启动。
uwsgi uwsgi.ini
安装nginx
yum install nginx
默认安装位置是 /etc/nginx/
然后 拷贝 nginx.conf 到 conf.d 文件中
server {
listen 80;
server_name #这里写你IP或者域名;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
# uwsgi.ini配置
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
uwsgi_param UWSGI_CHDIR /home/flask_project;
uwsgi_param UWSGI_SCRIPT app:app;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
启动nginx
systemctl start nginx.service