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


Vue+Django前后端分離項目部署,nginx默認端口80,數據提交監聽端口9000,反向代理(uwsgi配置)端口9999  

1.下載項目文件(統一在/opt/luffyproject目錄)

  (1)前端vue--------------wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

  (2)后端django---------wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip

  (3)解壓-----------------unzip解壓(如需實際操作,項目文件可以直接聯系博主)

2.vue框架依賴的nodejs

  (1)下載nodejs--------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)進入源碼包:bin文件夾存在,說明已經編譯好,查看是否可用以下命令:

      ------node -v

      ------npm -v

  (4)添加nodejs源碼包bin目錄到環境變量:

      ------vim /etc/profile 

      ------PATH='/opt/tengine231/sbin:/opt/python3.6/bin:/usr/local/sbin:

            /usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:

            /opt/luffyproject/node-v8.6.0-linux-x64/bin'

3.配置前端vue的靜態文件請求路徑

  (1)前端項目/top/luffyproject/07-luffy_project_01/src/restful/api.js

  (2)修改api.js中的請求ip和端口----sed -i 's/127.0.0.1:8000/192.168.160.134:9000/g' api.js

  (3)注意在項目部署的服務器ip變化時需要更改配置,同時重新執行npm install和 npm run build進行編譯生成dist靜態文件

4.編譯前端vue代碼

  (1)npm install----網速不好可以先修改npm下載源:npm config set registry https://registry.npm.taobao.org

  (2)npm run build--/top/luffyproject/07-luffy_project_01/中種生成一個dist靜態文件夾,作為nginx.conf中的server{}匹配的root根目錄

  (3)注意:如果使用虛擬機,ip可能會自動改變,需重新編譯

5.配置nginx.conf

  (1)前端vue靜態文件返回配置

location / {

  root /opt/luffyproject/07-luffy_project_01/dist;

  index index.html index.htm;

  #確保刷新不出現404

  try_files $uri $uri/ /index.html;

}

  (2)后端django服務反向代理配置

server {

  listen 9000;

  server_name localhost;

  location / {

    include uwsgi_params;

    uwsgi_pass 0.0.0.0:9999;

  }

} 

  (3)啟動nginx------nginx

6.前端vue靜態頁面已經部署完成

7.django項目的虛擬環境配置

  創建虛擬環境-------mkvirtualenv luffy_env4

  已創建有直接開啟------workon luffy_env4

8.配置uwgis

  (1)進入后端django項目---------cd /opt/luffyproject/luffy_boy

  (2)啟動測試django項目:

      啟動django項目---------python3 manage.py runserver 0.0.0.0:9003

      報錯根據提示在該虛擬環境內處理下載需要的包

         pip3 install django==2.0

           ........     

           pip3 install -r requirements.txt(批量下載)     

  (3)下載uwsgi模塊 ---------pip3 install uwsgi

  (4)手動創建uwsgi.ini文件,寫入配置:

[uwsgi]

# Django-related settings

# the base directory (full path)

chdir = /opt/luffyproject/luffy_boy

# Django's wsgi file

module = luffy_boy.wsgi

# the virtualenv (full path)

home = /root/Envs/luffy_env4

# process-related settings

# master

master = true

# maximum number of worker processes

processes = 2

# the socket (use the full path to be safe

#以socket請求與nginx結合

socket = 0.0.0.0:9999

#以http請求可以直接在劉昂器發起訪問,測試用

#http =0.0.0.0:9999

# clear environment on exit

vacuum = true

#設置守護進程,后台運行,也可指定文件,輸出日志

daemonize=yes 

  (5)啟動uwsgi--------uwsgi --ini uwsgi.ini

  (6)uwsgi以http形式進行測試訪問:

      瀏覽器直接訪問ip端口

      部分功能無法實現,缺少redis數據庫

  (7)物理環境安裝redis數據庫  

       yum install redis

      systemctl start redis

      systemctl status redis

      redis-cli--> ping----------啟動redis客戶端ping是否得到PONG

  (8)修改uwsgi.ini以socket形式結合nginx

  (9)退出虛擬環境--------deactivate

9.重啟nginx--------nginx -s reload


免責聲明!

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



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