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 -xvJf Python-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
效果测试
小结:
完成以上步骤后, 就可以在物理机的9000端口访问到django服务了,如果想在物理机用nginx将9000端口的服务转发到80端口, 可以参考我以前写过的一篇nginx配置二级域名
您可能感兴趣的文章:在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程在阿里云服务器上配置CentOS+Nginx+Python+Flask环境centos 下面安装python2.7 +pip +mysqldCentOS6.5设置Django开发环境将Django项目部署到CentOs服务器中Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器Centos部署django服务nginx+uwsgi的方法VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解