vue-cli+django+nginx

打包vue项目

  1. hash模式不做任何修改,由nginx后台做配合
    a标签的href="/XXX"得改成href="#/XXX"否则页面不进行跳转

  2. histroy模式修改nginx

     export default new Router({
     	mode:'history',
       routes: [
         {
           path: '/',
           name: 'Login',
           component: Login
         },
     		{
     		  path: '/regist',
     		  name: 'Regist',
     		  component: Regist
     		},
     		
       ]
     })
    

添加mode:history

部署环境安装

  1. ubuntu下python3环境安装网上有很多,此处就不再赘述

  2. 安装uwsgi

     #因为ubuntu默认pip为python2安装好python3后将pip3设置为库下载命令
     pip3 install uwsgi
    
  3. 安装nginx

     sudo apt-get install nginx
    

如有问题,请百度查询,网上以后详细教程,安装环境并不是本博客重点

项目部署

html页面部署
  1. 将打包后的dist文件夹下的文件复制到/var/www/html下

  2. 将(ubuntu16.04nginx),编辑/etc/nginx/sites-available/default在server中添加或修改

     vi /etc/nginx/sites-available/default
     		
     # 项目根路径
     root /var/www/html;
     # ‘/’默认跳转页面
     index index.html;
    
  3. 打开浏览器访问服务器地址,即可浏览到正常网页,但是发现无法调用vue-cli中配置的api接口


django项目部署
  1. 将后台文件复制进linux服务器上(此处用的ubuntu16.04)

  2. 进入项目后台目录下编辑uwsgi配置文件并保存

     vim uwsgi.ini
     
     [uwsgi]
     # 反向代理端口
     socket=:9000
     # 不需要nginx服务器可以直接访问端口(socket,http二者只能有其一)
     #http=:9000
     # 项目后台路径
     chdir=/root/TenderingSystem
     master=true
     processes=8
     threads=4
     # 项目自带的wsgi服务
     module=TenderingSystem.wsgi
    
  3. 启动uwsgi服务

     uwsgi -d --ini uwsgi.ini
    
  4. 编辑nginx服务器配置文件

     vi /etc/nginx/sites-available/default
     
     修改为
     # nginx 8000端口作为本地django后台9000端口的代理进行通信,即外部请求通过8000端口由nginx转发至uwsgi的9000端口交由后台处理
     server{
     	lilsten 8000;
     	location / {
     		include uwsgi_params;
     		uwsgi_pass 127.0.0.1:9000;
     	}
     }
     # 80端口为前端页面端口,访问返回静态页面,加载时会需要访问api接口
     server{
     	listen 80;
     	server_name 【域名或IP】;
     	# html页面根路径
     	root /var/www/html;
     	# 默认跳转首页
     	index index.html;
     	location / {
     		# 404跳转首页
     		try_files $uri $uri/ /index.html;
     	}
     	# vue api接口 -----重要部分
     	# 访问后台api接口时,第一步重写路径,将api前缀去掉,否则后台接口所有路径前都得加上api/,然后转发至本地8000端口即后台代理接口,由8000端口处理接口请求,请求发送至8000端口时,在转交由9000端口处理返回,最终请求成功
     	location /api{
     		rewrite /api/?(.*)$ /$1 break;
     		proxy_pass http://127.0.0.1:8000
     	}
     }
    

django web项目部署利用uwsgi服务器和nginx的反向代理来提供web服务,uwsgi服务器本身性能不高,配合nginx服务器使用提高性能

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值