在配置flask+uWSGI + nginx +vue3项目时出错
vue3导出dist后,使用nginx代理
nginx配置-vue
```c++
server {
listen 80; #指定服务器监听的端口号。
server_name xty032.cn; #指定服务器的域名。
server_name localhost; #指定服务器的域名。
server_name 39.101.189.114;
#charset koi8-r;
#access_log logs/host.access.log main; 定义请求的处理位置。
# location / {
# root html;
# index index.html index.htm;
# }
location / {
# proxy_pass http://front_pool;
root /var/www/html; #//网页地址
index index.html index.htm;
try_files $uri $uri/ /index.html;#当用户刷新页面时,Nginx会先检查当前URL是否存在,如果不存在,就会尝试访问index.html,从而可以正常显示页面。
# proxy_pass http://localhost:5000;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
配置nginx-flask后端地址转发
```bash
server {
listen 8800; #指定服务器监听的端口号。
server_name 127.0.0.1; #指定服务器的域名。
server_name localhost; #指定服务器的域名。
server_name 39.101.175.114;
#charset koi8-r;
client_max_body_size 75M;
#access_log logs/host.access.log main; 定义请求的处理位置。
# location / {
# root html;
# index index.html index.htm;
# }
location / {
proxy_pass http://127.0.0.1:8900;
# include uwsgi_params;
# uwsgi_pass 127.0.0.1:8900; #//转接到这个端口
# uwsgi_param UWSGI_PYTHON /var/www/back/env/bin/python3; # python路径
# uwsgi_param UWSGI_CHDIR /var/www/back; # 项目根目录
# uwsgi_param UWSGI_SCRIPT main:app; # 项目的主程序,比如你主程序文件名my_project_test.py,文件中app = Flask(__name__),那么这里就填my_project_test:app
}
}
main。py
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key_here'
CORS(app,supports_credentials=True)#本地运行不设置
@app.route(rule='/test', methods=['get'])
def test():
return'成功'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0',port=8800) #ipv4
然后使用uwsgi给flask做服务 (main.py 内 app为其名称 有get访问的测试端口/test)
[uwsgi]
http=127.0.0.1:8900
# 项目路径
callable=app
chdir = /var/www/back/
home=/var/www/back/
wsgi-file = /var/www/back/main.py
# 主进程
master = true
# 指定工作进程
processes = 4
# 每个工作进程2个线程
threads = 1
# 允许在请求中开启新线程
enable-threads=true
# 指后台启动 日志输出的地方
logto = /var/www/back/log/uwsgi.log
log-maxsize = 102400
# 保存主进程进程号
pidfile = /var/www/back/log/pid_fuwsgi.pid
# 虚拟环境路径
virtualenv = /var/www/back/env
#static-map = /static=/home/your_project/static
#不记录request日志,只记录错误日志
disable-logging = true
buffer-size = 65536
# 设置工作进程使用虚拟内存超过N MB就回收重启
reload-on-as = 1024
# 设置工作进程使用物理内存超过N MB就回收重启
reload-on-rss = 1024
#evil-reload-on-as = 512
#evil-reload-on-rss = 512
# 设置工作进程每处理N个进程就会被回收重启
max-requests = 1000
# worker进程工作时长
max-worker-lifetime = 3600
# 设置平滑的重启(直到处理完接收到的请求)的长等待时间(秒)
worker-reload-mercy = 60
# 配置django的环境配置文件
#; env = DJANGO_SETTINGS_MODULE=your_module.settings_dev
测试 curl 127.0.0.1:8900/test 正常 uwsgi正常运行,
测试 curl 127.0.0.1:8800/test nginx转发成功
测试 直接访问域名 39.101.189.114 ,看vue前端正常,
直接访问域名 39.101.189.114:8800/test 显示测试信息,正常
但vue访问后端地址127.0.0.1:8800失败,线下本地运行正常
报错信息
