当前位置: 首页 > news >正文

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

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.验证登录

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

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

相关文章:

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

1.部署django后端服务 部署架构 1.1 下载依赖插件 pip3.8 freeze > requirements.txt1.2 安装依赖插件 pip3 install -r requirements.txt1.3 安装mysql数据库 apt install mysql-server初始化数据库 CREATE USER admin% IDENTIFIED WITH mysql_native_password BY 123…...

函数类型注释和Union联合类型注释

函数类型注释格式(调用时提示输入参数的类型): )def 函数名(形参名:类型,形参名:类型)->函数返回值类型: 函数体 Union联合类型注释(可注释多种类型混合的变量)格式: #先导入模块 from typing import…...

python画图|无坐标轴自由划线操作fig.add_artist(lines.Line2D()函数

【1】引言 新发现了一种自由划线操作函数,和大家共享。 【2】官网教程 点击下述代码,直达官网: https://matplotlib.org/stable/gallery/misc/fig_x.html#sphx-glr-gallery-misc-fig-x-py 官网代码非常简洁,我进行了解读。 …...

MacOS系统上Jmeter 录制脚本遇到的证书坑位

一、JMeter介绍与安装 1,下载及安装 jmeter官网地址 二、录制百度链接https请求时,需要导入jmeter相关证书到macos系统的更目录中. 导入方式,直接拖入mac的系统中,始终新人就可以; 三、jmeter 创建相关的录制组件…...

网络层协议IP

对于网络层我们直接通过IP协议来了解其内容 一.IP协议 首先我们先来了解几个概念: 主机:配有IP地址,但是不进行路由控制的设备 路由器:配有IP地址,同时进行路由控制的设备 节点:主机和路由器的统称 所以现在…...

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

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

反向代理模块

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...

风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计

风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计 简介 在前端开发的世界里,HTML5和CSS3是构建现代网页的基石。本文将通过一个简单的HTML5页面模板,展示如何使用HTML5的结构化元素和CSS3的样式特性,来创建一个…...

spacy 安装 en_core_web_sm

目录 spacy win11 成功 linux No matching distribution found for numpy<3.0.0,>2.0.0 解决方法&#xff1a; linux安装失败&#xff1a; linux安装成功 从GitHub上下载 spacy win11 成功 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spacy linux N…...

SpringBoot(9)-Dubbo+Zookeeper

目录 一、了解分布式系统 二、RPC 三、Dubbo 四、SpringBootDubboZookeeper 4.1 框架搭建 4.2 实现RPC 一、了解分布式系统 分布式系统&#xff1a;由一组通过网络进行通信&#xff0c;为了完成共同的任务而协调工作的计算机节点组成的系统 二、RPC RPC&#xff1a;远程…...

嵌入式的C/C++:深入理解 static、const 与 volatile 的用法与特点

目录 一、static 1、static 修饰局部变量 2、 static 修饰全局变量 3、static 修饰函数 4、static 修饰类成员 5、小结 二、const 1、const 修饰普通变量 2、const 修饰指针 3、const 修饰函数参数 4. const 修饰函数返回值 5. const 修饰类成员 6. const 与 #defi…...

信创改造 - TongRDS 替换 Redis

记得开放 6379 端口哦 1&#xff09;首先在服务器上安装好 TongRDS 2&#xff09;替换 redis 的 host&#xff0c;post&#xff0c;passwd 3&#xff09;TongRDS 兼容 jedis # 例如&#xff1a;更改原先 redis 中对应的 host&#xff0c;post&#xff0c;passwd 改成 TongRDS…...

周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程

1、打开pycharm 没有pycharm的&#xff0c;在站内搜索安装教程即可。 2、点击“文件”“新建项目” 3、创建项目&#xff0c;Python版本中选择Python39。如果没有该版本&#xff0c;选择下面的Python 3.9下载并安装。 4、打开软件包&#xff0c;搜索“deep-forest”软件包&am…...

python VS c++

一、语法特点 Python&#xff1a; 语法简洁、优雅&#xff0c;代码可读性极强&#xff0c;采用缩进来表示代码块&#xff0c;摒弃了像 C 那样使用大括号的传统方式&#xff0c;使得代码看上去十分清晰简洁。例如&#xff1a; ​ if 5 > 3:print("5大于3") elif 5 …...

提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法

Allure2的用途 Allure2是一个用于生成测试报告的框架&#xff0c;广泛应用于自动化测试和手动测试中。它支持多种测试框架&#xff0c;如JUnit、TestNG、MSTest等&#xff0c;通过生动的图表和详细的日志&#xff0c;使得非技术人员也能轻松地理解测试结果。许多团队选用Allur…...

基于IPMI的服务器硬件监控指标解读

在现代化数据中心中&#xff0c;服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况&#xff0c;运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件&#xff0c;支持使用IPMI&#xff08;Intelligent Platform Management Interface&…...

VUE字符串转日期加天数

文章为本新手菜鸡的问题记录&#xff0c;如有错误和不足还行大佬指正 文章目录 问题描述解决方法 问题描述 得到一串字符串的日期&#xff0c;因为不是规范的日期格式&#xff0c;无法使用moment().add()方法&#xff0c;那么如何实现增加天数的操作&#xff1f; 解决方法 1…...

Android12 mtk设置插充电器自动开机

Android12 mtk平台通常关机后&#xff0c;插上充电器是进入关机充电流程&#xff0c;显示关机充电动画。 那么根据用户需求&#xff0c;如果需要设置关机之后&#xff0c;实现插上充电器后&#xff0c;自动开机。 正常流程&#xff1a;机器关机 --> 插上充电器 --> 显示…...

JSON路径工具类`JsonPathUtil`的实现与应用

JSON路径工具类JsonPathUtil的实现与应用 作者&#xff1a;zibo 日期&#xff1a;2024/11/25 口号&#xff1a;慢慢学&#xff0c;不要停。 文章目录 JSON路径工具类JsonPathUtil的实现与应用〇、完整代码一、引言二、功能概述三、代码实现详解1. 工具类基础结构2. 核心方法get…...

人名分类器(nlp)

# coding: utf-8 import osos.environ[KMP_DUPLICATE_LIB_OK] True# 导入torch工具 import jsonimport torch # 导入nn准备构建模型 import torch.nn as nn import torch.nn.functional as F import torch.optim as optim # 导入torch的数据源 数据迭代器工具包 from torch.ut…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...