部署前后端分離項目


vue + uwsgi +nginx 部署前后端分離項目

准備項目

1.將前端vue項目包和后端django項目包上傳服務器,通過lrzsz,直接從windows拖進linux中

2.解壓縮操作

前端vue部署

node環境准備

1.下載node二進制包,該包已經包含node,不需要再編譯

#  wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
2.解壓縮 #   tar -zxvf node-v8.6.0-linux-x64.tar.gz

3.進入壓縮后的node文件找到bin目錄執行 pwd   獲取到node的路徑

4.將node命令添加到環境變量  --- vim /etc/profile
    
   #     PATH = $PATH:/opt/node-v8.6.0-linux-x64/bin
  再讀取文件生效PATH ---  source  /etc/profile

5.測試環境  node -v  查看版本,    v8.6.0

編譯打包前端vue文件

1.進入vue源碼目錄 cd    /opt / vue_project/
   #安裝vue模塊,默認去裝package.json的模塊內容,如果出現模塊安裝失敗,手動再裝 
   #npm  install
2.根據本地寫的vue代碼,處理接口連接的服務器地址,注意Axios.POST提交的地址,一定發送給django應用,(如果用了nginx,就發送給nginx的入口端口)

    #找到  /opt/vue_project/src/restful/api.js
    #更改接口內地址原本可能是127.0.0.0.1:8000/,改成現在的服務器ip地址+端口   sed -i "s/127.0.0.1/192.168.220.128/g" /opt/vue_project/src/restful/api.js

3.編譯打包vue源碼 ,生成一個dist靜態文件夾  
    #npm run build

4.查看dist里面有  index.html static   即正常

 

配置nginx

配置nginx.conf

        #虛擬主機1,用於找到vue頁面
            server {
                listen       80;
                server_name loaclhost;
                location / {
                    root  /opt/vue_project/dist;
                    index index.html;
                }
         }
        #虛擬主機2,用於反向代理,找到django
                server{
                    listen 8000;
                    server_name  192.168.220.128;

                    location / {
                        include uwsgi_params;
                        uwsgi_pass 0.0.0.0:9999;
                       }
                }   
        
配置完畢后重啟 nginx -s nginx.conf

 

 配置后端代碼(創建配置虛擬環境,保證項目干凈隔離)

1.創建虛擬環境  mkvirtualenv   vue_django
2.安裝項目所需的依賴模塊.
    #windows下  執行pip3 freeze >  requirements.txt 
3.在linux下通過命令安裝 
# pip3 install -i https://pypi.douban.com/simple -r requirements.txt 

4. 安裝uwsgi 啟動后端
 #pip3 install uwsgi
  
  啟動方式1:uwsgi --socket  :8000  --module  django_project.wsgi
  啟動方式2:在項目第一層文件 touch  uwsgi.ini
  #配置uwsgi.ini文件

[uwsgi]
# Django-related settings
# the base directory (full path)
chdir           = /opt/django_project
# Django's wsgi file
module          = django_project.wsgi
# the virtualenv (full path)
home            = /root/Envs/vue_django
# 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:9999
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

 啟動redis數據庫,支撐需要的業務數據

#進入redis目錄
redis-server redis.conf

 全部部署完畢后,最后再次確認前端vue,后端django,nginx,redis正常后,通過windows中訪問瀏覽器

#查看端口以及pid
 netstat -tunlp 

...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM