uwsgi.ini
[uwsgi]
#指向网站根目录
chdir=/home/kiosk/flask_movie
#虚拟环境目录
home = /home/kiosk/anaconda3/envs/python3
# python启动程序文件
wsgi-file=manage.py
#python程序内用于启动的application变量名
callable=app
processes = 4
threads = 2
# py文件修改,自动加载
py-autoreload=1
#设置uwsgi包解析的内部缓存区大小。默认4k
buffer-size = 32768
chmod-socket = 664
# 退出uwsgi是否清理中间文件,包含pid、sock和status文件
vacuum=true
# uwsgi 启动时所使用的地址与端口,配置nginx时候使用
socket = 127.0.0.1:5000
#没有nginx时,要用浏览器测试是否可以成功访问需要配置http端口
#http=:9000
;# 状态监测地址
#stats=127.0.0.1:9191
#使用协程gevent启动使用
#listen=100
#
lazy-apps = true
##nginx配置
[kiosk@asimov /etc/nginx]$ cat nginx.conf
.....
include /etc/nginx/conf.d/*.conf; ##包含了conf.d下的所有.conf文件
}
##所以我们可以不用改原有的配置文件,直接在conf.d下写一个.conf文件
[kiosk@asimov /etc/nginx/conf.d]$ cat default.conf
server {
listen 80;
server_name localhost;
##把default.conf中listen 80修改为:listen [::]:80(防止报出80端口已被占用)
movie.conf
[kiosk@asimov /etc/nginx/conf.d]$ cat movie.conf
server {
listen 8080;
server_name 外网ip;
charset utf-8;
##日志路径
access_log /home/kiosk/Flask_nginx_log/access.log;
error_log /home/kiosk/Flask_nginx_log/error.log;
client_max_body_size 100M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; ##和uwsgi中socket一致
uwsgi_param UWSGI_PYHOME /home/kiosk/anaconda3/envs/python3;
uwsgi_param UWSGI_CHDIR /home/kiosk/flask_movie;
uwsgi_param UWSGI_SCRIPT run:app;
}
}
问题1:##配好nginx后启动nginx访问外网ip显示的Apache页面,然后加上8080端口后访问不到nginx页面
##我用的是阿里的轻量应用服务器centos
##在安全下的防火墙中添加自己设置的端口
##访问ip加端口就会出现nginx页面
问题2:
##配好uwsgi.ini和nginx后,启动uwsgi再启动nginx.访问外网ip:出现Getaway 502
##查看日志
cat /home/kiosk/Flask_nginx_log/error.log
[error] 16606#16606: *1 connect() to 127.0.0.0:5000 failed (101: Network is unreachable) while connecting to upstream, client: 183.17.234.203, server: 120.79.245.107, request: “GET /favicon.ico HTTP/1.1”, upstream: “uwsgi://127.0.0.0:5000”, host: “120.79.245.107:8080”,
##问题:连接上游uwsgi时失败[101: Network is unreachable]
##解决:
[kiosk@asimov ~]$ ping 127.0.0.0
Do you want to ping broadcast? Then -b
##好像uwsgi和nginx中不能乱写socket,除过用不了的地址,和有冲突的地址和端口外都可以
##两边都改为127.0.0.1:5000
##uwsgi和nginx这两个配置要写清楚了,不能错都在这
##然后杀死uwsgi 再启uwsgi ,重启nginx
##访问ip+端口: