django\+vue前後端分離項目部署nginx服務器


  1. 準備

    1. 前端vue打包後代碼

    2. 後端程序源代碼

    3. 服務器安裝nginx, 數據庫安裝配置等

  2. 部署

    1. 部署前端項目:

      1. 前端代碼放在 /home/www/dict 下;
    2. 部署後端項目:

      1. 上傳後端代碼到 /home/www/order 下;

      2. 安裝所依賴庫

      3. 收集靜態資源

        1. 在setting.py 中指定地址:
        
        STATIC_ROOT = os.path.join(BASE_DIR, 'static_file')
        
        ```1. 執行收集靜態資源命令
        
        ```python
        
        python manage.py collectstatic
        
        
      4. 同步數據庫

      
      python manage.py makemigrations    # 生成遷移文件
      
      python manage.py migrate            # 同步數據庫
      
      ```1. 配置uwsgi
      
      ```python
      
      [uwsgi]
      
      scoket = 127.0.0.1:8000
      
      home = /root/.virtualenvs/order    # 虛擬環境地址
      
      chdir = /home/www/order            # 後端程序地址
      
      wsgi-file = order/wsgi.py
      
      processes = 4
      
      threads = 2
      
      master = true
      
      pidfile = uwsgi.pid
      
      vacuum = true
      
      daemonize = uwsgi.log
      
      ```1. 開啓uwsgi
      
      ```python
      
      uwsgi --ini uwsgi.ini    # 開啓uwsgi
      
      uwsgi --stop uwsgi.pid    # 關閉uwsgi
      
      uwsgi --reload uwsgi.pid    # 重啓uwsgi
      
      
    3. 配置nginx:

      1. 切換到nginx文件下
      
      cd /etc/nginx
      
      
            2\. 打開nginx配置文件
      
      
      vim nginx.conf
      
      

      3. 配置編輯nginx服務器

      
      # 在http{}中新增 server{...}
      
      server{
      
          listen 80;
      
          server_name (ip / domain name);
      
          
      
          #配置前端 vue打包後的程序
      
          location / {
      
              root /home/www/dict;        # 前端代碼的絕對路徑
      
              index /index.html            # 前端指定訪問文件
      
              try_files $uri $uri/ /index.html;
      
          }
      
          # 配置後端 django程序, 後端接口是什麼就寫什麼,多域名和多服務器部署除外
      
          location /api {
      
              include uwsgi_params;
      
              uwsgi_pass 127.0.0.1:8000    # 部署後端程序時 uwsgi 指定的端口
      
          }
      
          # 配置後端 靜態資源
      
          location /static {
      
              alias /home/www/order/static_file;    # 部署後端程序時收集靜態資源地址
      
          }
      
      }
      
      
              4\. 重啓服務器
      
         `       nginx -s reload             `
      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章