Centos7部署django项目

django项目写完以后(web)最好能部署到服务器上,这样就可以在随时随地查看内容了。

本项目不采用usgi+ngix的部署方式,为追求简单部署的条件,使用在后台一直运行(runserver)的策略,当然了还有宝塔面板这个工具,但是为了巩固linux更加知道部署内容,不推荐新手直接使用宝塔来一键部署,其方法步骤见下面目录,需要一定的linux知识,可以看我这篇博客Linux1

其实近年来越来越多的开发者使用了Docker工具,这个也是非常好用的工具,部署起来相当不错,抽时间再看看。

本次环境是Centos 7,在腾讯云买的服务,不得不说,腾讯云配置是相当人性化,其中的镜像源也是非常快的,学生价也是优惠满满。
【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月,学生更是优惠众多点击此处
在这里插入图片描述

目录

mysql 安装

关于mysql的安装请看我这篇博客的后半部分:点击此处
这里附上主要的运行代码:
先下载源:

wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'


安装源:

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

查看mysql

yum repolist all | grep mysql


安装mysql

yum install -y mysql-community-server


启动mysql:

systemctl start mysqld

# 如果未成功,继续安装,或者进入我的博客查看响应的内容
yum install mysql-community-server 

关于腾讯云的安装中也存在一些问题,不过问题不大,基本网上都能搜到。

安装python环境

这一步非常关键,直接决定了能不能运行程序。我将在其中遇到的问题也一一奉上:
1.首先更新软件包

yum update -y

2.安装软件管理包和可能用到的依赖

yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

下载python 3到/usr/local目录
注意,一般Centos 7会自带python环境,一般python --version显示的是2.7.9版本,python3 --version显示的是3.6.8版本。由于我本地的环境是3.7.9环境,所以就最好下载此版本,以满足开发需求。

# 进入到下载目录文件
cd /usr/local
# 下载对应的python版本,如果是下载3.9.10只需要改后面数字就可以了
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz

#解压
tar -zxvf Python-3.7.9.tgz 
# 如果上述命令有问题,可以试一下这个命令,如果没有tar这个命令,请yum install tar
tar zxvf Python-3.7.9.tgz -C ./

# 进入到指定文件目录
cd Python-3.7.9



这里值得一提,一开始我就直接编译运行了,没想到在后面pip安装的时候出现了问题,
ModuleNotFoundError: No module named ‘_ctypes‘。

原因:原因:

Python3中有个内置模块叫ctypes,它是Python3的外部函数库模块,它提供兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用CentOS7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。
由于在CentOS7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就报"ModuleNotFoundError: No module named ‘_ctypes’"。

# 执行
yum install libffi-devel -y
# 安装
yum install python

以上两步也可以遇到了再安装:

# 编译安装到指定路径
./configure --prefix=/usr/local/python3
# 安装python3
make 
make install 

安装完成以后,需要建立软链接,添加变量,方便在终端使用

# 首先删除原来的python3变量版本
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

# 建立软链接,注意路径不要弄错了
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

这样就可以了。
在这里插入图片描述
关于可以建立虚拟环境来进行编译运行,我这里也不用多提了,可以跳过这个步骤。这个步骤是为了不和其他django版本进行冲突的。

pip install virtualenv

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
# 进入到env目录下
virtualenv --python=/usr/bin/python3 pyweb
# 启动虚拟环境
source activate

本地项目迁移到服务器

本次使用的是Macbook部署文件夹,IDE为Pycharm。
首先在本地项目上有一些准备工作,这些不做好,到时候运行起来还得远程操作比较麻烦(虽然有vscode帮助)
在settings.py中

# 这个//一定要注意,添加此处
STATIC_ROOT  = os.path.join(BASE_DIR, '/static/')
#运行所有主机运行,修改此处
ALLOWED_HOSTS = ['\*']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值