flask和vue前后端分离项目部署的示例代码

前段时间开发了一个项目, 我后端用的是flask框架写接口,前端用的是vue框架,项目前后端完全分离,部署的时候遇到一点问题,记录一下.

部署环境:centos6.5Python3.6.3flask0.12.0 vue

部署方式:uwsgi+nginx

步骤:

【flask和vue前后端分离项目部署的示例代码】? 1.首先安装python运行环境,正常
? 2.安装uswsgi运行,正常(使用pip安装,pip install uwsgi):
新建config.ini文件

[uwsgi]# uwsgi 启动时所使用的地址与端口,nginx代理的时候需要转发到该地址socket = x.x.x.x:xxxx#python环境目录 #home = /usr/local/python/bin#指向网站根目录chdir = /root/www#python项目启动程序文件wsgi-file = /root/www/run.py#python程序内用于启动的application变量名callable = app#处理器数processes = 3#线程数threads = 3#状态监测地址stats = 127.0.0.1:5000#设置uwsgi包解析的内部缓存区大小。默认4kbuffer-size = 32768

uwsgi启动命令:
uwsgi config.ini#该命令直接启动uwsgi -d --ini config.ini#该命令后台运行,常用

3.安装nginx,正常,我们是运维安装的,过程不表,请百度一下
问题来了:
? 我们在同时代理vue和flask 的时候,不管怎么折腾,前端都无法访问到flask的地址
解决办法:
? 使用了两个不同 的域名分别代理了vue和flask,vue指向flask的代理域名
usernginx; worker_processes1; error_loglogs/error.log; #error_loglogs/error.lognotice; #error_loglogs/error.loginfo; pidlogs/nginx.pid; events {worker_connectionsxx; use epoll; }http {includemime.types; default_typeapplication/octet-stream; log_formatmain'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"'; #access_loglogs/access.logmain; server_tokens off; sendfileon; #tcp_nopushon; #keepalive_timeout0; keepalive_timeoutxx; #gzipon; server {listen xx; server_namehqfund.com www.hqfund.com; return 301 https://$host$request_uri; } server {listen 443 ssl; server_namexxx.com1; ssl_certificate/xxxx; ssl_certificate_key /xxxx; location / {root /xxxx; index index.html index.htm; } }server {listen xx; server_namexxx.com2; return 301 https://$host$request_uri; } server {listen xxx ssl; server_namexxx.com2; ssl_certificate/xxxx; ssl_certificate_key /xxxx; location / {include uwsgi_params; uwsgi_pass x.x.x.x:xx; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }}

到此这篇关于flask和vue前后端分离项目部署的示例代码的文章就介绍到这了,更多相关flask和vue前后端分离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读