Django部署到Cenos7需要安裝大量的依賴包, 有很多坑需要踩, 這里是踩坑后探索出的標(biāo)準(zhǔn)化步驟
實(shí)驗(yàn)環(huán)境:
- 騰訊云centos7
用centos7.5鏡像創(chuàng)建容器(這步操作按自己需求來, 不使用docker的可以跳過這步)
docker run -t -i --name fangyuanxiaozhan-com -p 9000:9000 centos:7.5.1804 /bin/bash
- 創(chuàng)建名為fangyuanxiaozhan-com的容器
- 將容器的9000端口映射到物理機(jī)的9000端口
- 推薦使用centos:7.5.1804這個(gè)鏡像, 開始我用了最新版的centos鏡像, 安裝lxml的時(shí)候, 報(bào)出了內(nèi)核崩潰的錯(cuò)誤, 花了整整一天也沒有解決, 最后老老實(shí)實(shí)換了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 -xvJf Python-3.7.0.tar.xz
進(jìn)入源碼目錄, 并編譯安裝
cd Python-3.7.0
./configure --prefix=/usr/local/bin/python3
make
make install
將python3和pip3添加到系統(tǒng)環(huán)境變量中
ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3
驗(yàn)證安裝效果
yum install which
which python3
which pip3
升級(jí)pip
pip3 install --upgrade pip
安裝擴(kuò)展包
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的同級(jí)目錄下, 創(chuàng)建pm2運(yùn)行django程序的腳本文件start.sh
vi start.sh
i
python manage.py runserver 0.0.0.0:9000
:wq
pm2運(yùn)行腳本, 開啟django服務(wù)
pm2 start start.sh
查看服務(wù)運(yùn)行狀態(tài)
pm2 list
停止服務(wù)
pm2 delete start.sh
效果測(cè)試 https://fangyuanxiaozhan.com
小結(jié):
完成以上步驟后, 就可以在物理機(jī)的9000端口訪問到django服務(wù)了,如果想在物理機(jī)用nginx將9000端口的服務(wù)轉(zhuǎn)發(fā)到80端口, 可以參考我以前寫過的一篇nginx配置二級(jí)域名