Django 部署上线从0到1
本文基于你有一台服务器,这里采用的是阿里的云服务器 CentOS 7。
步骤:
1、 安装宝塔
2、 上传Django文件夹
3、 安装Python3.9.1
4、安装pip3
5、安装项目需要的所有依赖
6、安装Sqlite3
7、安装UWSGI
1、安装宝塔:
安装宝塔是为了方便操作云服务器
1、宝塔官网: 宝塔
进入官网后选择对应的操作系统,点立即安装
2、复制对应的操作系统版本安装命令去服务器命令行执行
3、安装完宝塔后复制面板链接和账号密码进入宝塔面板:
4、注册完宝塔账号就可以正常使用宝塔面板了:注册入口
2、 上传Django项目
压缩项目文件夹为tar.gz方便宝塔上传
点击上传、上传压缩后的压缩包(不要选择上传目录,会很慢)
解压
3、安装Python3
安装开发时对应的Python版本
我这里使用的是3.9.1
1.下载Pyhton3.9.1到/usr/local 目录并解压
cd /usr/local
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz tar -zxvf Python-3.9.1.tgz
2.进入 Python-3.9.1路径,编译安装到指定路径,依次执行以下命令
cd /usr/local/Python-3.9.1
./configure --prefix=/usr/local/python3
make
make install
3.安装完成之后 建立软链接 添加变量 方便在终端中直接使用python3
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
4、安装pip3
1.Python3安装完成之后pip3也一块安装完成,不需要再单独安装,同样给pip3建立软链接
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3
安装完成后查看版本
5、安装项目需要的所有依赖
1、去本地导出项目依赖包
pip freeze > requirements.txt
2、将依赖包文件requirements.txt上传至服务器项目文件夹下
3、安装依赖包
pip3 install -r requirements.txt
4、安装完查看pip列表
6、安装Sqlite3
安装了很多次Sqlite3的版本不是太新就是太老不支持,折腾到最后决定更换sqlite3 为pysqlite3 和 pysqlite3-binary
1、首先修改django数据库默认获取位置
vim /usr/local/python3/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py # 即报错的文件
from sqlite3 import dbapi2 as Database # 注释第14 行
from pysqlite3 import dbapi2 as Database # 将默认数据库获取位置改为 pysqlite3
2、安装pySqlite3和pySqlite3-binary
pip3 install pysqlite3
pip3 install pysqlite3-binary
3、到这里就可以成功跑起django了
7、安装UWSGI
安装uwsgi是为了在后台一直运行着Django
1、安装uwsgi
pip3 install uwsgi
2、安装完成后在项目目录内,新建一个文件 如:runself.ini; 内容如下
[uwsgi]
http=0.0.0.0:8000
#项目目录
chdir = /root/pytest/test1
#配置文件里的wsgi.py的地址
wsgi-file = test1/wsgi.py
processes = 4
threads = 2
#启动一个master进程来管理其他进程,其中的4个uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程,方便关闭和重启
master=True
#保存启动之后主进程的pid
pidfile=uwsgi.pid
#设置uwsgi后台运行,uwsgi.log保存日志信息 自动生成
daemonize=uwsgi.log
#设置虚拟环境的路径(如果有的话) 1.cd 2.cd .virtualenvs 3.cd dailyfresh 4.pwd
virtualenv=/root/.virtualenvs/test
3、 注意进入项目目录内启动: 如下图所示
uwsgi yourfile.ini
即可启动后台运行