将django+vue项目发布部署到服务器

embedded/2024/11/26 21:23:31/

django_0">1.部署django后端服务

部署架构

在这里插入图片描述

1.1 下载依赖插件
pip3.8 freeze > requirements.txt

在这里插入图片描述

1.2 安装依赖插件
pip3 install -r requirements.txt
1.3 安装mysql数据库
apt install mysql-server

在这里插入图片描述
初始化数据库

CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

创建数据库

CREATE DATABASE devops_api CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

在这里插入图片描述

1.4 上传项目代码,并修改配置文件
vim devops_api/settings.py
DEBUG = False  #关闭调试模式
ALLOWED_HOSTS = [*]  #允许所有主机部署
#修改数据库的配置为本地
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'devops_api','USER': 'admin','PASSWORD': '123456','HOST': '127.0.0.1','PORT': '3306',}
}
1.4 配置启动uwsgi 服务
pip3 install uwsgi
root@devops:/home/devops/devops_api/uwsgi# cat uwsgi.ini 
[uwsgi]
#项目目录
chdir = /home/devops/devops_api
# 指定 sock 的文件路径
socket =/home/devops/devops_api/uwsgi/uwsgi.sock 
#指定监听端口
http = 0.0.0.0:8002
#静态资源
static-map=/static=/home/devops/devops_api/static
# wsgi 文件(django 入口)
wsgi-file=devops_api/wsgi.py
# 进程个数
processes = 4
# 指定项目的应用
# module = devops_api.wsgi
# 进程 pid
pidfile = /home/devops/devops_api/uwsgi/uwsgi.pid
# 日志路径
daemonize = /home/devops/devops_api/uwsgi/uwsgi.log

服务启动脚本

cat /etc/systemd/system/uwsgi.service
[Unit]
Description=HTTP Interface Server
[Service]
Type-forking
ExecStart=/usr/local/bin/uwsgi --ini /home/devops/devops_api/uwsgi/uwsgi.ini 
ExecReload=/bin/ki11-s HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target

在这里插入图片描述
在这里插入图片描述

1.5 配置启动nginx
apt -y install nginx
root@devops:/etc/nginx/conf.d# cat devops_api.conf server {listen    8001 default_server;server_name _;location / {include   uwsgi_params;        uwsgi_pass unix:/home/devops/devops_api/uwsgi/uwsgi.sock;}
}  
systemctl restart nginx
1.6 测试启动后端服务
python3 manage.py runserver 127.0.0.1:9000

如图所示证明后端服务启动正常
在这里插入图片描述

1.7 初始化后端数据库
python3  manage.py migrate   
python3  manage.py createsuperuser

在这里插入图片描述

2.部署vue前端服务

2.1 修改前端代码 指向后端api地址
const instance = axios.create({baseURL: 'http://127.0.0.1:8001/api/',timeout: 10000
});

在这里插入图片描述

2.2 打包前端项目

在这里插入图片描述
在这里插入图片描述
将前端编译代码上传到目标服务器的指定目录
在这里插入图片描述

2.3 配置启动前端nginx
root@devops:/etc/nginx/conf.d# cat devops_web.conf server {listen    80;server_name _;root /home/devops/devops_web;location / {try_files $uri /index.html;}
}   

2.验证登录

使用刚才创建的系统管理员账号登录
在这里插入图片描述

在这里插入图片描述
至此完成项目的前后端部署


http://www.ppmy.cn/embedded/140723.html

相关文章

数据结构---队列详解

一、队列的概念与结构 概念:概念:只允许在⼀端进行插入数据操作,在另⼀端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) **入队列:**进行插入操作的一端称为队尾。 出队列:进行…

嵌入式系统与单片机工作原理详解

随着现代科技的发展,嵌入式系统已经深入到我们日常生活中的方方面面。无论是智能家居、汽车电子,还是工业控制、医疗设备,都离不开嵌入式系统的支持。而单片机作为嵌入式系统的核心组件,是实现这些功能的关键之一。本文将详细介绍…

设计模式——简单工厂模型、工厂模式、抽象工厂模式、单例模式、代理模式、模板模式

设计模式 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步。 职责单一原则。每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来。 对修改关闭,对扩展开放。对修改关闭是说&#x…

1、HCIP之RSTP协议与STP相关安全配置

目录 RSTP—快速生成树协议 STP STP的缺点: STP的选举(Listening状态中): RSTP P/A(提议/同意)机制 同步机制: 边缘端口的配置: RSTP的端口角色划分: ensp模拟…

【机器学习】——朴素贝叶斯模型

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

《硬件架构的艺术》笔记(七):处理字节顺序

介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。 定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…

【ChatGPT】ChatGPT在多领域知识整合中的应用

ChatGPT在多领域知识整合中的应用 随着人工智能技术的发展,ChatGPT以其强大的自然语言处理能力,在知识整合和信息生成方面展现出独特优势。通过将多个领域的知识有机结合,ChatGPT不仅能够回答复杂问题,还能帮助用户处理跨学科的任…

开源 AI 智能名片 2+1 链动模式商城小程序:场景驱动的商业创新与用户价值挖掘

摘要:本文围绕开源 AI 智能名片 21 链动模式商城小程序源码,深入分析了场景中的时间、空间、设备、社交和状态五大核心元素。阐述了各元素的表现形式、应用策略及价值,包括时间元素对业务周期和用户行为的影响及相应营销策略;空间…