Ubuntu部署Django專案

2021-08-10 07:11:35 字數 2956 閱讀 9721

1. 安裝ubuntu系統或centos系統

2. pip freeze >requirements.txt

3. pip install -r requirements.txt

4. 相關環境搭建

5. sudo passwd 輸入root相關密碼

6. 輸入su回車  進入超級管理員

sudo apt-get install python (如果有python環境可以不裝)

sudo apt-get install python-dev

sudo apt-get install python-pip

sudo apt-get install libxml*

sudo apt-get install net-tools

sudo apt-get install lsof

------安裝 資料庫---------

apt-get install mysql-server

apt-get install mysql-client

apt-get install libmysqlclient-dev

------更新pip版本---------

pip install --upgrade pip

------安裝ssh---------

sudo apt-get install openssh-server

------安裝 nginx---------

sudo apt-get install nginx

------安裝 uwsgi---------

sudo pip install uwsgi

測試uwsgi

create database 《資料庫名》 character set utf8;

-------修改django專案的配置檔案-----------

debug =false

allowed_hosts = ["*"]

-------在linux環境中,安裝必要的檔案-----------

例如django,captchar

注意生成資料庫遷移檔案

-------靜態檔案-----------

說明:static_root必須設定,而且和staticfiles_dirs

不能共存

在django的setting檔案中,新增下面一行內容:

static_root = os.path.join(base_dir, "static/")

然後執行(收集admin後台的靜態檔案,如果不收集,將來訪問linux的blog的admin將沒有樣式):

python manage.py collectstatic

將專案上傳到linux系統中

為你的專案建立乙個uwsgi的配置檔案,字尾為ini

[uwsgi]

# django-related settings

socket = 127.0.0.1:9001

# 專案絕對路徑

chdir = /home/project/logindemo

# django的wsgi檔案相對路徑

wsgi-file =logindemo/wsgi.py

# process-related settings

# master

master = true

# 最大程序數

processes = 4

# 執行緒數

threads = 2

#設定此引數,有乙個主程序

master=true

#守護程序的方式執行,log日誌存在此log檔案裡

deamonize=/var/log/uwsgi/djangoproject.log

#主程序id寫入檔案裡

pidfile= /var/log/nginx/uwsgi.pid

# chmod-socket = 664

#退出時,清理環境

vacuum = true

reload-mercy = 10

max-requests = 5000

limit-as = 512

buffer-size = 30000

server    

location /static/

}

----通過uwsgi執行django專案------

重啟nginx: sudo service nginx restart

uwsgi --ini 配置檔案的路徑(myblog_uwsgi.ini)

再次通過瀏覽器訪問專案.出現介面則表示部署正確

----------------問題-------------------

1,uwsgi遇到importerror: no module named django.core.wsgi問題

通過在wsgi.py裡面列印sys.path發現是因為path裡面並沒有包含該安裝的site-packages的路徑,因此在wsgi.py新增如下語句

netstat -ap | grep 8080  

檢視8080埠是誰在使用

kill -9 pid號  強制關閉占用埠的程式

ubuntu部署django專案

教程使用的軟體版本 ubuntu 18.04.1 lts,django2.0,python 3.6.5 nginx 1.13.7 uwsgi 2.0.17.1 ubuntu是純淨的,全新的。下面我們開始來部署。一 更新作業系統和安裝依賴包 更新作業系統軟體庫 sudo apt get update ...

Django部署在ubuntu上

一.安裝django sudo apt install python3 pip 安裝pip pip v 檢視pip的版本 pip install django 預設安裝最新的django版本 當然安裝前需要更新一下系統的檔案 sudo apt update 二.uwsgi wsgi是python程式...

Ubuntu下部署Django專案

1 pip freeze requirements.txtdebug false allowed hosts static root os.path join base dir,static url r static p.serve,收集admin後台的靜態檔案,如果不收集,將來訪問linux的bl...