sudo apt-get update
sudo apt install net-tools
sudo apt install nginx
sudo apt install python3-pip
sudo pip3 install virtualenv
sudo mkdir flask_web
/home/flask_web 下执行命令 创建虚拟环境
sudo virtualenv venv
激活虚拟环境
source venv/bin/activate
sudo pip3 install flask
一定要用pip3装
sudo pip3 install uwsgi
创建flask项目,路径:/home/flask_web/app.py
创建并保存app.py 文件
vim app.py
from flask import Flask
app = Flask(name)
@app.route('/')
def index():
return 'hello world'
if name == 'main':
app.run()
netstat -tulp #看下nginx有没有启动
nginx配置文件:
/etc/nginx/sites-enabled/default
配置nginx
server {
listen 80; # 服务器监听端口
server_name 110.110.110.110; # 这里写你的域名或者公网IP
charset utf-8; # 编码
client_max_body_size 75M; # 之前写的关于GET和POST的区别,这里应该是原因之一吧
location / {
include uwsgi_params; # 导入uwsgi配置
uwsgi_pass 127.0.0.1:8000; # 转发端口,需要和uwsgi配置当中的监听端口一致
uwsgi_param UWSGI_PYTHON /home/自己创建的目录/venv; # Python解释器所在的路径(这里为虚拟环境)
uwsgi_param UWSGI_CHDIR /home/自己创建的目录; # 项目根目录
uwsgi_param UWSGI_SCRIPT manage:app; (比如你测试用test.py文件,文件中app = Flask(__name__),那么这里就填 test:app
) # 项目的主程序
}
}
配置完成后重启一下nginx
sudo /etc/init.d/nginx restart
这时会出现502,因为我们还没有配置uwsgi
在flask_web目录中vim uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8000 # uwsgi的监听端口
plugins = python # 这行一定要加上,不然请求时会出现-- unavailable modifier requested: 0 --错误提示
chdir = /home/chihu # 项目根目录
wsgi-file = manage.py # flask程序的启动文件
callable = app # 程序变量名
启动Uwsgi
uwsgi uwsgi.ini