安裝
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...