Centos7部署django项目

# 进入到下载目录文件
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 = ['\*']

下面进入项目根目录,使用命令把所有安装的模块打包到requirements.txt

pip freeze > requirements.txt

将项目打包压缩上传,首先在服务器根目录建一个django文件夹,路径命令

mkdir /django

我这里使用macbook进行上传:
打开shell,新建远程连接,点击sftp,输入用户root,sftp root@ip
由于我的本地文件在桌面

# 这个意思就是将本地文件上传到服务器
sftp> put /Users/jacin/Desktop/name.zip  /root/django

windos 上传建议使用xshell中的xftp工具,也是相当好用。
下面进入django文件夹,解压,由于我这个.zip文件

unzip name.zip

下面就是和本地一样了:
进入到name文件夹,

pip3 install -r requirements.txt

然后直接python3 manage.py runserver 127.0.0.1:8000
看看有没有报错,如果没有报错的话。
直接运行这个让他在后台跑就行了,不需要使用ngix+usgi等一系列麻烦的步骤。

nohup python3 manage.py runserver 0.0.0.0:8000 >djo.out 2>&1 &

这个命令是,只要你一直开云服务,那么你的公网ip:8000就一直开着的。
nohup :英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。djo.out:日志文件存放位置2>&1 解释:将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。日志文件(标准输出和标准错误输出)保存到djo.out
如果想关闭了:

lsof -i tcp:8000
Kill -9 3225

这样在浏览器输入你的云服务器地址:8000就可以看到django项目了。

vscode远程开发

由于部署到服务器,不可避免地需要修改代码,但不能总是使用vim命令吧,不得不说,vim还是比较麻烦的,所以vscode就成了好用的东西。
首先在插件里面下载remote-ssh,
更改设置,File->Preferences->Settings->Extension->Remote-SSH,找到Show Login Terminal并勾选。
下载后以后在左边的图标中点击+号,输入ssh 的ip与密码就可以访问了。
在这里插入图片描述
下面就是打开相应的文件样式。
然后选择打开相应的文件夹就可以了。
在这里插入图片描述

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值