將Django部署到Centos7全攻略
Django部署到Cenos7需要安裝大量的依賴包, 有很多坑需要踩, 這裡是踩坑後探索出的標準化步驟
實驗環境:
- 騰訊雲centos7
用centos7.5映象建立容器(這步操作按自己需求來, 不使用docker的可以跳過這步)
docker run -t -i --name fangyuanxiaozhan-com -p 9000:9000 centos:7.5.1804 /bin/bash
- 建立名為fangyuanxiaozhan-com的容器
- 將容器的9000埠對映到物理機的9000埠
- 推薦使用centos:7.5.1804這個映象, 開始我用了最新版的centos映象, 安裝lxml的時候, 報出了核心崩潰的錯誤, 花了整整一天也沒有解決, 最後老老實實換了centos:7.5.1804的映象, 問題順利解決~
安裝各種依賴包
yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc automake autoconf libtool make wget

下載python3.7原始碼包
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

解壓原始碼包
tar -xvJfPython-3.7.0.tar.xz
進入原始碼目錄, 並編譯安裝
cd Python-3.7.0 ./configure --prefix=/usr/local/bin/python3 make make install

將python3和pip3新增到系統環境變數中
ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3
驗證安裝效果
yum install which which python3 which pip3


升級pip
pip3 install --upgrade pip

安裝擴充套件包
yum install epel-release

安裝python-pip
yum install python-pip

安裝pipenv
pip install pipenv

安裝nodejs
yum install nodejs

安裝pm2
npm install pm2 -g

在manager.py的同級目錄下, 建立pm2執行django程式的指令碼檔案 start.sh
vi start.sh i python manage.py runserver 0.0.0.0:9000 :wq


pm2執行指令碼, 開啟django服務
pm2 start start.sh

檢視服務執行狀態
pm2 list

停止服務
pm2 delete start.sh

效果測試 ofollow,noindex">https://fangyuanxiaozhan.com

小結:
完成以上步驟後, 就可以在物理機的9000埠訪問到django服務了,如果想在物理機用nginx將9000埠的服務轉發到80埠, 可以參考我以前寫過的一篇nginx配置二級域名