轉conda uwsgi nginx部署


conda 環境不必多說: conda(或source)  activate  test 進入test虛擬環境

接下來安裝uwsgi:

  pip install uwsgi 在conda環境下大概率安裝不成功,可以使用一下命令代替:

    conda install -c conda-forge uwsgi 

  運行uwsgi 有可能碰到 libiconv.so 動態庫找不到的問題,同樣可以用conda安裝  

    conda install -c conda-forge libiconv

uwsgi安裝好后,需要在django項目根目錄下建立一個名為uwsgi.ini的文件,在里面配置好uwsgi:

  

復制代碼
[uwsgi]
socket=127.0.0.1:8000                                  # 指定項目執行的端口號,用nginx的時候就要配socket
pythonpath=/home/admin/test/ # 指定項目所在位置,在使用conda虛擬環境時必須要有這一條
chdir=/home/admin/test/                  # 指定項目的目錄
wsgi-file=test/wsgi.py # 項目上wsgi.py所在的位置,與settings目錄相同
processes=1                          # 開啟的進程數量
threads=2
master=True # master :允許主線程存在(true)
pidfile=uwsgi.pid
daemonize=uwsgi.log # 日志,uwsgi無法啟動時來這查看錯誤日志
復制代碼

uwsgi配置好后,要啟動uwsgi, 啟動命令:

  uwsgi --ini uwsgi.ini          # 啟動uwsgi, 一定要在django實際使用的conda環境下,否則會報錯

  uwsgi --stop uwsgi.pid      # 停止uwsgi

  uwsgi --reload uwsgi.pid   #  重啟uwsgi

 

uwsgi配置好后,要配置nginx:

  首先安裝nginx, 運行命令      sudo apt install nginx

  nginx 命令:

    sudo service nginx start    啟動

    sudo service nginx stop   停止

    sudo service nginx restart  重啟nginx

    sudo nginx -s reload 重載配置文件

    sudo nginx -s quit 優雅的停止nginx

    sudo nginx -s term 停止nginx

    sudo nginx -s reopen 打開一份新的日志

  配置nginx:

    在/etc/nginx/site-available下新建文件test.conf:    server {

復制代碼
        listen 8888;                                        #nginx監聽的端口
        charset utf-8;
        client_max_body_size 75M;
        location / {
          uwsgi_pass 127.0.0.1:8000;                  # 與uwsgi中配置的相一致
          include /etc/nginx/uwsgi_params;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

      location /static/ {   # 如果用到靜態文件
        alias /home/test/test/static/;
      }

}

復制代碼

    然后要建立軟連接:

      sudo ln -s /etc/nginx/site-available/test.conf /etc/nginx/site-enabled/test.conf

  最后用 sudo nginx -s reload 命令啟動重載配置文件即可

 

最后, 如果需要配置負載均衡:

復制代碼
// http模塊中配置upstream
upstream test {
   server 127.0.0.1:8002 weight=2;
   server 127.0.0.1:8003 weight=1;
}

// 將server模塊中的location替換為如下
location / {
                proxy_pass http://test;
}
復制代碼

 

 
分類:  部署


免責聲明!

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



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