Django專案部署到伺服器

2021-08-28 06:44:10 字數 2314 閱讀 8450

安裝

sudo apt install python3-pip

sudo pip3 install virtualenv

sudo apt install nginx

sudo apt install mysql-server

建立虛擬環境

在專案目錄下執行 /home/file/

virtualenv venv

啟動虛擬環境

source venv/bin/activate

安裝django

pip install django==1.11.4

安裝uwsgi

pip install uwsgi

上傳專案

在專案中建立uconfig.ini的檔案 **在下方

更改setting.py檔案中的 static_root

static_root = os.path.join(base_dir, 『collectstatic』)

執行命令

python manage.py collectstatic

更改nginx的default檔案**在下方

更改nginx的nginx.conf檔案(403沒許可權)

重啟nginx

16 .回到虛擬環境目錄啟動 uwsgi

uwsgi uconfig.ini

關閉uwsgi

uwsgi —stop uconfig.ini

如果關閉不掉殺死程序

ps -ef | grep uwsgi

sudo kill 程序號

[uwsgi]

# 外部訪問位址,可以指定多種協議,現在用http便於除錯,之後用socket #

socket = 0.0.0.0:8000 # uwsgi的監聽埠

# 指向專案目錄

chdir = /home/file/

# flask啟動程式檔案

wsgi-file = file/wsgi.py

plugins = python

# 處理器數

processes = 1

# 執行緒數

threads = 2

問題描述:

django admin沒有樣式

admin管理頁面找不到base.css,dashboard.css檔案

解決辦法:

方法一在settings檔案中設定static_root目錄,該目錄不能在staticfiles_dirs中.

然後,執行命令

python manage.py collectstatic
執行後,django會將staticfiles_dirs下的所有檔案以及admin所需要用到的js,css,image檔案全都放到static_root目錄下.

例如, 像下面這樣寫:

static_url = '/static/'

static_root = os.path.join(base_dir, 'collectstatic')

staticfiles_dirs = [os.path.join(base_dir, 'static'), ]

簡單描述一下這幾個變數的意思

static_url: 當訪問什麼樣的**時, 按照訪問靜態檔案的方式去查詢檔案.

static_root: 當執行python manage.py collectstatic時, 收集的靜態檔案放在該目錄下.

更多可參考:

此刻file下就會多出乙個collectstatic的靜態資源檔案目錄

default**更改為

server 

location /static

}

訪問可能會出現403沒有許可權的問題

解決辦法

找到nginx.conf檔案的位置

將第一行的**進行修改

#user www-data; 

user root;

或者將 www-data更改許可權

最後,不要忘了進入你的雲伺服器-控制台-安全組,設定入方向安全組埠號為80、

此刻就可以訪問了、

如出現伺服器訪問錯誤,刪除default檔案下面兩行的注釋就可以了。

uwsgi_param uwsgi_python /home/file/venv; #python直譯器所在的路徑(這裡為虛擬環境)

uwsgi_param uwsgi_chdir /home/file/;# 自己建立的目錄 專案根目錄

專案部署到伺服器

今天,第一次為工作寫日子,以後肯定會一直記錄,好了,說一下重點吧。如何把已完成的專案部署到伺服器,準備工作,在伺服器上搭建 jdk 和 tomcat 版本根據個人需求,我是 jdk1.7 和 tomcat 7.0 具體怎麼搭建上網查吧。第一步 把自己的專案上傳到伺服器上。我用的是最笨的方法,因為伺服...

如何把 Django 專案部署到伺服器

django 官網截圖 django 是基於 python 開發的一款開源的 web 應用框架。django框架不但提供了完善的 目錄結構,而且使用了 model,view,和template的結構,使得 在開發過程中很容易被規範起來。其中django admin提供了開箱即用的後台管理系統而深得眾...

Django專案部署到阿里雲伺服器(總結)

關閉防火牆 service firewalld stop乙個基於python的開源web框架,請確保自己熟悉它的框架目錄結構。python manage.py runserver 0.0.0.0 80 最後面的 這符號表示在後台執行該程序。這裡的ip位址如果用公網ip 會執行不了,而用0.0.0.0...