vue+uwsgi+nginx部署前后端分离项目

前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求。
django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染
后端
创建虚拟环境 解决django文件的环境依赖
pip install 环境依赖包
(通过windows转至linux环境下 处理windows环境下环境依赖   
(pip freeze >  requirements.txt : 将windows下python所需要的包 写入requirements.txt中
在linux中通过命令安装 pip3 install -r  requirements.txt )
(创建requirements.txt 需要的包写入, 在linux中通过命令安装 pip3 install -r requirements.txt)
)
安装uwsgi
(pip install uwsgi)
启动方式 1 用参数启动    (uwsgi --socket  :8000  --module  luffy_boy.wsgi)
启动方式2:用配置文件启动 
在项目的中 创建 uwsgi.ini 文件 写入配置
[uwsgi]
# Django-related settings
# the base directory (full path)     项目的绝对路径
chdir           = /opt/luffy_boy
# Django's wsgi file                        带有wsgi.py的文件路径(相对路径)
module          = luffy_boy.wsgi
# the virtualenv (full path)
home            = /root/Envs/s17luffy   虚拟环境的路径   (cdvirtualenv 进入  pwd查看  )
# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 1
# the socket (use the full path to be safe
socket          = 0.0.0.0:6666
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true
启动命令(uwsgi  --ini   uwsgi.ini)
前端 vue
node准备
准备node环境 下载node环境包  (wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz)
解压  (tar  -zxvf   包名) (unzip  包名)   压缩 (tar   -zcvf  文件 )
添加环境变量    (vim  /etc/profile )  刷新 环境变量   ( source  /etc/profile )  查看 (echo  $PATH)
开始编译打包前端vue文件
修改vue文件   vue文件下的/src/restful/api.js
修改 成当前服务器的ip和端口号  全局修改文件  ( sed  -i 's/需要修改的的内容/修改后的内容/g '  vue文件的绝对路径/src/restful/api.js)
进入 vue文件 找到找到package.json,安装它的内容   (npm  install)
编译打包vue代码,这一步会生成dist静态文件夹,用于nginx展示   (npm  run  build )
配置nginx
修改nginx.conf   需要两个虚拟主机
虚拟主机1   用于找到vue页面
server {
                listen       80;
                server_name  localhost;     # 访问的地址
                location / {
                root  /opt/s17luffy/dist;        # 展示vue页面 dist的绝对路径
                index index.html;
                }
    }
虚拟主机2  用于反向代理 找到django
server{
listen 8000;
    server_name  localhost;
 
    location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:6666;
    }
重启nginx使配置生效  (nginx -s  reload )
redis数据库
启动redis数据库 ( redis-server redis.conf )
 
 

猜你喜欢

转载自www.cnblogs.com/qizt/p/10524039.html