云linux下超详细部署Django前后端分离项目教程

通过使用本地建立虚拟环境方式部署

linux下nginx安装部署

1、首先检查本机自带的有没有nginx -version,没有则可以安装。

2、输入如下,开始安装。

yum -y install nginx

3、然后输入如下。

nginx -version

检查是否安装成功。

4、然后通过

systemctl start nginx

快速启动,然后使用systemctl status nginx查看状态。

systemctl start nginx   #启动nginx服务
systemctl restart nginx #重启服务
systemctl status nginx  #查看状态
systemctl stop nginx    #停止服务

如果访问页面不能显示,则可能的问题是用户不一致。

1、查看当前nginx的登录用户和自己主机的登录用户是否一致,不一致,可能会导致无法访问nginx

输入如下:

ps aux | grep "nginx: worker process" | awk '{print $1}'

2、不一致需要去如下里,修改为root,在下图处修改为当前用户即可,输入:wq 保存退出。

vi /etc/nginx/nginx.conf

3、输入ip地址查看,出现这个如下,代表成功。

linux下安装uwsgi

1、先输入如下,出现如下则证明安装成功。

pip install uwsgi

2、同时本地项目  根目录 下添加 uwsgi.ini 配置项文件,需要注意python 虚拟环境包路径,需要换成你自己的。

[uwsgi]
chdir = ./
#项目根目录,使用相对路径
module = autotpsite.wsgi:application
# 指定wsgi模块下的application对象
http = 0.0.0.0:9000
#http-socket = 0.0.0.0:9000
master = true
#主进程
pythonpath = /pycode_s1/pytestcode/pyenv/lib/python3.9/site-packages
#额外设置虚拟环境包环境,防止uwsgi找不到
home= = ./pyenv
#设置虚拟环境,docker镜像模式下则不需要
socket = ./websocket.sock
#设置使用unix socket模式通信
pidfile = uwsgi.pid
#pid文件,用于下脚本启动、停止该进程,对应使用相对路径
daemonize = uwsgi_server.log
#日志文件
disable-logging = true
#不记录正常信息,只记录错误信息
enable-threads = true
# 允许多线程
buffer-size = 40960
# 设置请求头最大字节数,用于socket模式

3、同时安装django项目依赖包,首先在本地环境项目根目录下执行

pip freeze > requirements.txt

生成一个项目依赖包文件。

4、然后通过git命令上传提交至远程仓库,或者直接在pycharm绑定Gitee账户后右上角点击提交并推送。

git add .
git -m commit "require"
git push origin master

在linux下进入需要安装的目录文件夹,提前绑定好ssh公钥,第一次需要使用  git clone <ssh远程仓库地址>  命令进行拉取代码,后面直接使用 git pull 即可。

5、然后在项目根目录下创建虚拟环境,名字为test,

python3 -m venv pyenv

6、然后激活虚拟环境

. /pyenv/bin/activate  #激活虚拟环境
deactivate    #退出虚拟环境命令

7、然后在虚拟环境下使用安装依赖,等待安装完成,如下图。

pip install -r requirements.txt

*****期间可能出现mysqlclient安装失败问题,这时候需要手动安装*****

依此安装

yum install mysql-develpip install mysqlclient

等待安装成功即可。之后在执行如下安装即可。

pip install -r requirements.txt

6、安装完依赖包后使用

python manage.py makemigrations    #生成迁移文件
python manage.py migrate            #执行迁移文件

生成迁移文件,在执行迁移文件,记得先创建数据库 

CREATE DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

7、最后使用

python manage.py runserver

检查是否安装完成启动成功。

8、然后使用uwigs命令启动配置文件,

uwigs uwigs.ini

会在设置配置文件下,出现日志文件等。

uwsgi --ini uwsgi.ini  #启动服务
uwsgi --stop uwsgi.pid  #停止服务
uwsgi --reload uwsgi.pid  #重启服务
pkill -f uwsgi -9    #停止所有uwsgi进程

开始部署前后端

1、配置前端到nginx上,查看nginx配置文件在哪

nginx -t

开始部署配置变量,这里先使用http配置:

2、进入如下:

vi /etc/nginx/nginx.conf

        删除原本的root指向路径,重写到第一个location / ,root是指向前端打包后的文件夹目录,第二个和刚刚 uwsgi.ini 配置文件的一致。按 :wq 保存退出。

3、出来使用 nginx -t 检查语法无误后,执行如下重启nginx服务。

systemctl restart nginx

4、开始访问http:// <ip_address>,出现前端页面则成功部署。

现在换unix socket模式通信:

1、先在本地 uwsgi.ini 下,添加socket路径,git add . 等命令提交一下代码。

2、然后把uwsgi服务停止掉,git pull拉取一下新修改的代码。

3、重新启动uwsgi服务。

uwsgi uwsgi.ini

4、修改nginx的配置,进入如下:

vi /etc/nginx/nginx.conf

把http模式注释或者删掉,改为如下,然后 :wq 保存退出。

5、重启一下nginx服务。

systemctl restart nginx

6、访问网址,出现前端页面,点击交互有反应,则配置成功。

希望我的教程可以帮助到你,祝你每天开心。

猜你喜欢

转载自blog.csdn.net/sasafa/article/details/125677011