前言
大家好!我是yixinluobo。我们学习python做的第一个web项目至此已经有了一些进展,今天我们就将它部署到我们的服务器上。文中源码及工具均可在公众号“联系我们”获取。
1.服务器配置
搞一个服务器
首先我们要有一个服务器,我这里就以我使用的云服务器(华为云)来演示。如果没有可以购买一个或者不想花钱也可以搞一个虚拟机装一个ubuntu20.4操作系统。!!!以下均以ubuntu20.4为例!!!
这些是新用户价格,其实也还可以接受的吧,哈哈!只要有一台linux操作系统的电脑就好了。
安装docker
我们呢还是使用docker来部署,这样很多东西我们都可以快速安装比如:mysql之类的
如果你是在虚拟机安装的请切换国内镜像源,不然会卡死。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
查看docker版本
docker version
查看docker状态
sudo systemctl status docker
启动docker
sudo systemctl start docker
设置docker开机自启
sudo systemctl enable docker
docker启动mysql
下载mysql镜像
docker pull mysql
创建mysql容器启动
docker run --name mysql -v /home/yixinluobo/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
2.项目配置
项目文件上传
这时候我们需要用到一个上传工具(如果是虚拟机可以直接粘帖复制过去)我这里使用的是FileZilla,如果大家使用的是windows操作系统我们给大家提供一个winScp工具。
这样我们的项目文件就传到服务器了(使用工具还是非常方便的)
创建虚拟环境安装依赖
进入项目目录下创建虚拟环境
pip install virtualenv
virtualenv venv
进入虚拟环境
source venv/bin/activate
安装依赖文件
pip install -r requirements.txt
等待安装完成...
创建数据库并迁移同步
如下图所示进入mysql
创建项目数据库并查看
create database my_source_project;
show databases;
迁移同步数据库
python manage.py makemigrations
python manage.py migrate
命令行测试启动
python manage.py runserver 0.0.0.0:8000
这样我们应该就可以通过http://ip:port访问了 当然这不是最终目的,我们还要使用uwsgi来启动项目
uwsgi配置启动
安装uwsgi
pip install uwsgi
在项目根目录创建uwsgi.ini文件
[uwsgi]
chdir=/home/yixinluobo/MySourceProject
module=MySourceProject.wsgi:application
socket=/home/yixinluobo/MySourceProject/uwsgi.sock
workers=5
pidfile=/home/yixinluobo/MySourceProject/uwsgi.pid
http=0.0.0.0:80
static-map=/static=/home/yixinluobo/MySourceProject/static
uid=root
gid=root
master=true
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=1000
post-buffering=4096
daemonize=/home/yixinluobo/MySourceProject/uwsgi.log
uwsgi启动项目
uwsgi --ini uwsgi.ini
这样就使用uwsgi启动了我们的项目
最后
这样我们就简单的部署了我们的项目,如果是服务器打开端口就可以在外网访问了。如有问题请通过公众号 python web小栈 “联系我们”添加群聊沟通!!!
原文来自"python web小栈"微信公众号:手把手教你将Python Django项目部署到服务器