Centos環(huán)境部署django項(xiàng)目的全過程(永久復(fù)用)
一:基礎(chǔ)環(huán)境介紹:
Centos:7.8(cat /etc/redhat-release查看版本號(hào))
Python:3.9.5(python -V查看版本號(hào))
Django:2.2.6(django-admin --version查看版本號(hào))
Uwsgi:2.0.20(uwsgi --version查看版本號(hào))
Nginx:1.20.1 (nginx -v查看版本號(hào))
二:部署環(huán)境安裝配置:
1.基礎(chǔ)依賴環(huán)境安裝
yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
2.安裝wegt,vim,unzip等必須命令
yum -y install wget vim unzip
3.安裝python與pip(或者python多版本管理工具pyenv等)
## 1.下載自己需要版本的python版本包 wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz ## 2.新建python3目錄 mkdir /usr/local/python3 ## 3.安裝Python3壓縮包,進(jìn)入解壓目錄,指定安裝目錄,安裝Python3 tar -xvf Python-3.9.5.tar.xz cd Python-3.9.5 ./configure --prefix=/usr/local/python3 make && make install ## 4.安裝Python3時(shí),會(huì)自動(dòng)安裝pip,如果沒有就手動(dòng)安裝 yum -y install python-pip ## 5.pip配置(更換pip的源) (1)找到pip.conf并編輯 [root@devops ~]# cd ~ [root@devops ~]# mkdir .pip [root@devops ~]# vim pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com :wq!保存退出即可 (2) 安裝依賴安裝好pip [root@devops ~]# yum -y install epel-release [root@devops ~]# yum install python-pip [root@devops ~]# pip install --upgrade pip ## 6.升級(jí)下pip pip install --upgrade pip ## 7.創(chuàng)建軟鏈接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 ## 輸入python3測(cè)試是否安裝成功 python -V
4.安裝nginx
## 1.yum方式安裝nginx yum -y install nginx ## 2.查看nginx版本 nginx -v ## 3.啟動(dòng)nginx systemctl status nginx ## 查看nginx狀態(tài) systemctl start nginx ## 開啟nginx服務(wù) systemctl stp nginx ## 關(guān)閉nginx服務(wù)
5.安裝uwsgi
## 1.安裝uwsgi pip3 install uwsgi ## 2.建立軟鏈接 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi ## 3.查看uwsgi版本 uwsgi --version
三:部署django項(xiàng)目:
1.上傳項(xiàng)目并安裝項(xiàng)目模塊并啟動(dòng)測(cè)試
## 1.上傳文件到服務(wù)器 ## 2.解壓項(xiàng)目 unzaip devops.zip ## 3.pip安裝項(xiàng)目依賴模塊 pip3 install -r requirements.txt ## 4.通過python3 manage.py runserver運(yùn)行一下項(xiàng)目,如果能正常啟動(dòng)則進(jìn)行下一步,不能正常運(yùn)行往上檢查。 這里需要注意使用python3來執(zhí)行manage.py,否則會(huì)出現(xiàn)報(bào)錯(cuò)情況!
2.在項(xiàng)目里配置uwsgi.ini配置文件
(1)在settings.py所在目錄vim新文件 項(xiàng)目名稱.ini
(2)配置 項(xiàng)目名稱.ini文件
[uwsgi] master=true chdir=/data(服務(wù)器實(shí)際目錄)/項(xiàng)目名稱 module=項(xiàng)目名稱.wsgi py-autoreload=1 lazy-apps=true socket=127.0.0.1:8000 processes=4 buffer-size=32768 daemonize=uwsgi.log log-maxsize = 5000000 vacuum = true disable-logging = true
(3)檢查settings.py配置并收集項(xiàng)目靜態(tài)文件
一般都是這個(gè)配置:
settings.py配置:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, '/static/') STATICFILES_DIRS = [ os.path.join(BASE_DIR, '../bitmain_cmdb/static'), ## 實(shí)際靜態(tài)文件所在項(xiàng)目路徑,親測(cè)好使 ]
url.py配置:
from django.conf.urls import * from django.contrib import admin from django.conf.urls import url,include from django.conf.urls.static import static from django.conf import settings urlpatterns = [ url(r'^cmdb_admin/', admin.site.urls), ] + static(settings.STATIC_URL,document_root = settings.STATIC_ROOT)
執(zhí)行收集靜態(tài)文件命令:
python manage.py collectstatic
(4)啟動(dòng)測(cè)試,并查看日志
## 在當(dāng)前目錄啟動(dòng) uwsgi -i 項(xiàng)目名稱.ini ## 啟動(dòng)之后查看進(jìn)程 ps -ef | grep uwsgi
啟動(dòng):uwsgi -i 項(xiàng)目名稱.ini
查看進(jìn)程
查看日志,服務(wù)啟動(dòng)正常
3.配置nginx
vim /etc/nginx/nginx.conf
nginx.conf配置
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; charset utf-8; location /static { alias /項(xiàng)目所在目錄/static/; } location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; } } }
(4)啟動(dòng)nginx
## 1.配置完nginx.conf,執(zhí)行 nginx -t /etc/nginx.conf 啟用nginx配置文件 ## 2.軟加載nginx nginx -s reload
(5)訪問django項(xiàng)目http://服務(wù)器ip/login/
四:備注
之后項(xiàng)目重啟只需要重啟uwsgi之后再重啟nginx即可,切記正式環(huán)境要關(guān)掉django的debug模式,防止報(bào)錯(cuò)源碼被看到。
## 項(xiàng)目重啟 killall -9 uwsgi uwsgi -i 項(xiàng)目名稱.ini nginx -s reload ## 關(guān)閉項(xiàng)目debug模式 vim settings.py debug = Fasle
總結(jié)
到此這篇關(guān)于Centos環(huán)境部署django項(xiàng)目的文章就介紹到這了,更多相關(guān)Centos環(huán)境部署django內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- centos+nginx+uwsgi部署django項(xiàng)目上線
- 將django項(xiàng)目部署到centos的踩坑實(shí)戰(zhàn)
- centos8使用Docker部署Django項(xiàng)目的詳細(xì)教程
- Centos8下django項(xiàng)目部署 nginx+uwsgi的教程
- CentOS下寶塔部署Django項(xiàng)目的詳細(xì)教程
- 詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程
- Centos部署django服務(wù)nginx+uwsgi的方法
- 將Django項(xiàng)目部署到CentOs服務(wù)器中
- 詳解將Django部署到Centos7全攻略
- django如何部署到centos服務(wù)器上
相關(guān)文章
使用Python獲取字典鍵對(duì)應(yīng)值的兩種方法
對(duì)于字典通過鍵獲得值非常簡單,但通過值獲得鍵則需繞些彎子,下面這篇文章主要給大家介紹了關(guān)于如何使用Python獲取字典鍵對(duì)應(yīng)值的相關(guān)資料,需要的朋友可以參考下2022-04-04python中import cv2遇到的錯(cuò)誤及安裝方式
這篇文章主要介紹了python中import cv2遇到的錯(cuò)誤及安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python3 中的字符串(單引號(hào)、雙引號(hào)、三引號(hào))以及字符串與數(shù)字的運(yùn)算
這篇文章主要介紹了python3 中的字符串(單引號(hào)、雙引號(hào)、三引號(hào))以及字符串與數(shù)字的運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python中的反射知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11python通過對(duì)字典的排序,對(duì)json字段進(jìn)行排序的實(shí)例
今天小編就為大家分享一篇python通過對(duì)字典的排序,對(duì)json字段進(jìn)行排序的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02python常用運(yùn)維腳本實(shí)例小結(jié)
這篇文章主要介紹了python常用運(yùn)維腳本實(shí)例小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Python函數(shù)的定義與調(diào)用方法實(shí)例
Python 中函數(shù)的應(yīng)用非常廣泛,函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段,這篇文章主要給大家介紹了關(guān)于Python函數(shù)的定義與調(diào)用的相關(guān)資料,需要的朋友可以參考下2023-06-06TensorFlow實(shí)現(xiàn)批量歸一化操作的示例
這篇文章主要介紹了TensorFlow實(shí)現(xiàn)批量歸一化操作的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04