vue2+django4项目部署

vue2+django4项目部署

基于阿里云服务器ubantu20.04的前后端分离项目的部署

整个过程需要用到vue、django、mysql、redis、nginx、uwsgi。

1、需要先配置一下虚拟环境,并安装django中需要的插件。

大致思路:使用nginx反向代理后端接口

nginx

nginx.conf配置

server {                                                                                          
                listen 80;                                           #监听的端口                                     
                index index.html;                                                                         
                server_name 101.200.233.144;            #ip地址或者域名                                                  
                charset utf-8;                                                                            
                root /var/www/html/dist;  #vue项目打包之后的存放位置                                                                
                location /media {            #django的一些图片地址                            
                        alias /var/www/datavis/blog_back/media;                                           
                }                                                                                         
                                                                                                                                                                                                  #这里我前端请求的接口是  101.200.233.144/v1/xxx/xxx
                                                                                                        # 意思是将所有请求路径带有v1的ajax请求经过反向代理转到本地的5001端口
                                                                                                         本地的5001端口用来运行django
                location /v1 {     #非常重要!!!!!!!!                                                                       
                        #alias /var/www/html/dist;                                                        
                        uwsgi_pass 127.0.0.1:5001;     #要与uwsgi中                                                   
                        #try_files $uri $uri/ /index.html;                                                
                        include /etc/nginx/uwsgi_params;                                                  
                }                                                                                         
                location /api {        #应该没什么用                                                  
                        proxy_pass http://101.200.233.144/api;                                            
                }                                                                                         
        }         

uwsgi

uwsgi.ini

[uwsgi]
#http=127.0.0.1:5001
socket=127.0.0.1:5001  
chdir=/var/www/datavis/blog_back  #项目路径
module=blog_back.wsgi   #django项目自带的项目名.wsgi位置
home=/var/www/datavis #虚拟环境位置
process=4  #进程数
threads=2   #线程数
pidfile=uwsgi.pid   #uwsgi进程id
chmod-socket = 666  #权限
daemonize=uwsgi.log #输出日志
master = true

注意:如果我们想直接将uwsgi用作服务器(例如Apache和nginx那样)直接暴露在公网那么就使用http;如果有单独的服务器(例如Apache或者nginx),由服务器将请求转发给uwsgi处理,并且使用http协议,那么此时使用socket

mysql

我使用的是mysql-8 一开始本打算在docker中进行部署项目,但是造docker中总是安装不上mysql,

所以按照本文开始的链接配了一个虚拟环境进行安装,sudo apt-get mysql。

redis

这个插件非常好安装 sudo apt-get redis

主要用于博客项目的文章列表缓存功能,虽然好像nginx也会有缓存功能。

redis-cli开启之后,ping过了就可以。

####

前端注意

项目中所有ajax/axios请求地址在部署到服务器上之前都要将地址改为公网ip或者域名。

||||||有一种思路,不需要经常改动请求中的url,拿本项目来讲,只需要将url改为ip/v1/xxxx/xxxx,因为需要改动的只有域名或者ip,请求路径并不需要,设置一个全局变量为服务器ip或者申请下来的域名(若是国内服务器和国内域名需备案)。!!!并没有尝试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值