Centos-部署django项目

如何部署一个好的django项目到Centos服务器上面去了,下面来记录一下
1:将项目拷贝到Centos服务器上,不管是xftp,还是scp,还是lrzsz,看自己的爱好了,我这里用的是xftp
(xftp和xshell配合起来食用,效果更佳哦)
2:这里我们将开发的好的study项目压缩包上传到服务器的/op/test目录下面
image.png
3:解压缩,放到上一级目录,解压地址看自己爱好

unzip test.zip  ../

4:新建一个虚拟环境,专门用来运行此项目,这里我们用ven3来做试验

[root@localhost opt]# virtualenv --python=python  ven3

5:激活一下虚拟环境

[root@localhost opt]# source  /opt/ven3/bin/activate

6:接下来就是解决study项目运行所需的模块依赖
在开发电脑上面执行如下命令

#将所需安装包导出到一个文件,服务器安装此文件就可以安装物理机所需的依赖啦
pip3 freeze > requirements.txt  

上传至linux服务器
在Centos服务器的虚拟环境中,安装此文件即可

如果没有此模块依赖文件,那么就手动解决吧,。。。。
此时你要注意
python3 manage.py runserver 这个命令,并不是让你启动django项目的!!!
因为此命令,调用的是python 内置的wsgiref单机socket模块,性能低下,单进程单线程。。。
7:在Centos服务器上面执行

pip3  install  -r  ./requirements.txt  

ps:如果不想用这个快捷办法安装所有依赖模块,那么就只能用老办法,启动项目然后看对应报错信息,然后再一个个安装依赖哦,不推荐
查看一下我的虚拟环境已经安装好的所以依赖包
image.png

8:启动项目,因为项目需要用到数据库mysql,但是我们还没有安装,所以会报错,安装一下

#缺少mysql,因此需要安装mariadb,且启动
(ven3) [root@ localhost study]# yum install mariadb-server  mariadb -y

ps:mariadb-server 就是mysql的兼容版本,性能更好。。。
9:安装完了之后,由于没有对于的数据库和表,所以需要手动建立一下数据库和导入对应的表

#必须先登录数据库再建立
(ven3) [root@ localhost study]# mysql -u  root  -p
create  database study;
show  databases;
use  study;
show  tables;

10:手动建好数据库后,就需要导入数据表了
我的是window10,所以执行如下操作就可以了生成
image.png
image.png
mac电脑可以执行如下命令

#将本地所有数据库导入到一个alldb.sql,可以根据需要只导出自己需要的数据库
mysqldump  -uroot -p  --all-databases   >  alldb.sql 
#-d 参数是只导出表结构,不要表中的数据
mysqldump -uroot -p123 -d study > study .sql     #用它
mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql   #实例代码

11:上传到Centos服务器,执行此命令
如果导入报错,可能是数据库服务没有启动,启动mariadb数据库

(ven3) [root@ study]# systemctl start mariadb

12:发送此alldb.sql文件,给Centos机器,再进行数据导入
就是将SQL文件,通过lrzsz、scp、xftp等方式,发送此文件,给Centos服务器

#导入数据库表结构
mysql -uroot -p  study  <  /opt/study.sql   #指定数据库导入,否则会报错找不到数据库

我的导入完毕,查询一下,生成了对应的很多张表
image.png
13:启动项目进行测试

python3  study/study/manage.py  runserver  0.0.0.0:8888

ps:注意检查修改settings.py中的allowed_host字段设置和数据库连接设置密码哦,否则会启动失败报错

发现报错了
用python3连接MySQL数据库出现问题“AttributeError: ‘str‘ object has no attribute ‘decode‘“解决办法

修改mysql源码,原因是python3不支持python2的编码格式导致的
image.png

image.png
将145,146代码进行注释就可以了
再次启动,最后效果图
image.png
大功告成~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值