详解将Django部署到Centos7全攻略

yipeiwu_com5年前Python基础

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配置二级域名

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于python实现聊天室程序

本文实例为大家分享了python实现简单聊天室的具体代码,供大家参考,具体内容如下 刚刚接触python编程,又从接触java开始一直对socket模块感兴趣,所以就做了一个聊天室的小程...

python 类的继承 实例方法.静态方法.类方法的代码解析

这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 dt...

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数 审题: 1.找出意味着这是一个查找算法题 2.算法复杂度log级别,就是提示你是二分查找 3.二分查找实现一般为递归  (1)递归包括递...

解决python3读取Python2存储的pickle文件问题

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。 import pic...

python动态性强类型用法实例

本文实例分析了python动态性强类型用法。分享给大家供大家参考。具体如下: Python变量声明和定义 与C#不同,Python在使用变量之前无须定义它的类型,试着运行下面的例子:...