Django項目 Nginx+uwsgi後端部署文檔

1,測試項目是否正常運行

使用Django自帶的server測試項目正確性:

python manage.py runserver 0.0.0.0:8080

如可訪問正常,則項目正常。若出現無法連接的情況:

  1. 檢查服務器安全組的所需要的端口是否開放

    – 如果沒有開放
    ##WARNGING:如果沒有開放端口,就算在後面nginx配置完成,頁面也將進不去

    1.開放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

    2.保存:/etc/rc.d/init.d/iptables save

    3.重啓服務:/etc/init.d/iptables restart

    4.查看端口是否開放:/sbin/iptables -L -n

  2. 檢查項目settings.py文件中ALLOWED_HOSTS = []字段改爲ALLOWED_HOSTS = ['*']允許所有連接

  3. 將項目文件放在/home/目錄下

2,安裝nginx

關閉Django自帶server,安裝Nginx

sudo apt-get install nginx

Nginx成功安裝後會在80端口顯示默認頁面,如能看見默認頁面,即爲安裝成功.

3.安裝uwsgi

進入項目虛擬環境.安裝uwsgi

source 虛擬環境路徑
pip install uwsgi

使用uwsgi拉起項目

uwsgi --http:8080 --module report.wsgi

4,收集靜態資源

在setting.py設置文件裏面設置STATIC_ROOT=收集靜態存放的路徑

然後在manage目錄下執行

python manage.py collectstatic

5,創建uwsgi配置文件

在項目目錄下創建mysite_uwsgi.ini文件,內容如下:

[uwsgi]
# Django-related settings
# 這邊是設置wsgi的端口,要和下面的nginx設置uwsgi的端口一致
# 這邊可以只設置端口,只設置端口默認ip是127.0.0.1
socket = :8002
# the base directory (full path)
chdir = /home/項目路徑
# django自帶wsgi.py的文件路徑
module = wsgi文件路徑
# process-related settings
# master
master = true
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true
plugin python = true
# set log file path
# 日誌存放的路徑
daemonize = 日誌存放的路徑


拉起項目

uwsgi --ini mysite_uwsgi.ini

6,配置Nginx

進入Nginx的目錄

cd /etc/nginx

先刪除80端口的默認頁面(可選操作,或者更改defult文件,新建自定義的配置文件)

rm sites-enabled/default

sites-available下創建新的配置文件(自定義名稱)`

    cd sites-available/
    vim

配置文件內容如下

server{
    listen    開放的端口;
    # 服務器IP地址
    server_name  服務器IP;


    # Django
    # 這是固定的對接uwsgi ip和端口
    location / {
        uwsgi_pass  127.0.0.1:8002;
        include /項目路徑/uwsgi_params;
    }

	# 這邊是靜態文件訪問的url地址和對應的靜態文件的路徑,css路徑爲/static/
    #Django static
   
    #location url {
    #    alias url對應的文件路徑;
    #}
    # django收集靜態文件後的css等的路徑
    location /static/ {
        alias 收集靜態文件的所在的路徑;
    }

}

然後進入sites-enabled/目錄,鏈接available文件夾中的文件

    cd ../sites-enabled/
    sudo ln -s /etc/nginx/sites-available/自定義名稱 自定義名稱

拷貝uwsgi_params文件至項目目錄下:

    cd ..
    cp uwsgi_params 項目路徑
    

7,重啓Nginx

sudo /etc/init.d/nginx restart

8,到此爲一些常用操作命令

    sudo /etc/init.d/nginx stop
    sudo /etc/init.d/nginx start
    # 強制殺死uwsgi進程
    pkill -f uwsgi -9
    # 後臺啓動uwsgi
    uwsgi -d --ini mysite_uwsgi.ini
    # 查看nginx
    ps –ef | grep nginx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章