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

Ubuntu22.04LTS 部署前后端分离项目

一、安装mysql8.0

1. 安装mysql8.0

# 更新安装包管理工具
sudo apt-get update
# 安装 mysql数据库,过程中的选项选择 y 
sudo apt-get install mysql-server
# 启动mysql命令如下 (停止mysql的命令为:sudo service mysql stop)
sudo service mysql start# 查看mysql的启动状态
sudo service mysql status# 设置开机自启
sudo systemctl enable mysql

2. 设置数据库密码

# 登录数据库,直接回车,第一次安装没有密码
sudo mysql -u root -p# 设置你的密码 0000000改为你的密码即可
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '0000000';# 更新你的账户保证可以所有ip访问
update user set host='%' where user ='root';# 数据库刷新
FLUSH PRIVILEGES;

3. 修改配置,以便后面用navicat远程连接

# 打开mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf# 将bind-address改成0.0.0.0
bind-address = 0.0.0.0

二、安装java21.0.5

# 进入到/home/linux目录,没有自行创建
cd /home/linux# 下载安装压缩包
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz# 创建文件夹env
mkdir env# 将下载的压缩包放到里面
mv jdk-21_linux-x64_bin.tar.gz ./env# 进入env并进行解压
cd ./envtar -zxvf jdk-21_linux-x64_bin.tar.gz# 配置系统配置文件
sudo vim /etc/profile# 系统配置文件对应的增加以下3行
export JAVA_HOME=/home/linux/env/jdk-21.0.2    #jdk保存路径
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${CLASSPATH}:${JAVA_HOME}/bin:$PATH# 按下esc后,输入:wq保存退出# 刷新系统配置
source /etc/profile# 检查java安装情况
java --version

三、Redis安装

1. 安装

sudo apt install lsb-release curl gpgcurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.listsudo apt-get updatesudo apt-get install redis

2. 修改Redis配置,修改密码

# 编辑配置文件
sudo vim /etc/redis/redis.conf

requirepass就是你的密码

相关的操作

启动方式一
/etc/init.d/redis-server start
启动方式二
systemctl start redis-server
启动方式三
service redis-server start
重启
service redis-server restart
关闭
service redis-server stop
查看状态
service redis-server status

四、Nginx安装

1. 安装

sudo apt update# 安装Nginx
sudo apt install nginx# 查看状态
sudo systemctl status nginx# 使用UFW开放Nginx所需要的端口 80.443
sudo ufw allow 'Nginx Full'# 开机自启
sudo systemctl enable nginx# 检查状态
sudo systemctl status nginx

2. 常用相关口令

# 启动
sudo systemctl start nginx# 停止
sudo systemctl stop nginx# 重启
sudo systemctl restart nginx# 重载配置文件
sudo systemctl reload nginx# 取消开机自启
sudo systemctl disable nginx# 检查状态
sudo systemctl status nginx# 查看相关日志
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

3. 项目打包的dist部署

(1) 将dist上传到云服务器,如我的路径是/home/fcty/frontend/dist这样

(2)编写一个新的配置文件在frontend文件夹,注意我前端请求/api会转发

server {listen 80;server_name your_domain_or_IP;  # 替换为你的域名或IP地址# 服务前端静态文件location / {root /home/fcty/frontend/dist;try_files $uri $uri/ /index.html;  # 如果请求的文件不存在,返回index.html}# 代理 /api 路径到后端服务,并去除 /api 前缀location /api/ {proxy_pass http://127.0.0.1:8800/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# 下面的这行通常不是必需的,因为 Nginx 默认会转发所有请求头# proxy_pass_request_headers on;  # 默认已经是开启状态}# 如果有需要处理的其他路径或设置,可以在这里添加
}

 (3)将编写好的配置文件复制到对应的/etc/nginx/sites-enabled/下,注意不可以用ln,会报错

cp /home/fcty/frontend/clientconf /etc/nginx/sites-enabled

(4)检查nginx测试配置文件正常

sudo nginx -t

(5)检查无误重启即可登录成功

sudo systemctl restart nginx

相关文章:

Ubuntu22.04LTS 部署前后端分离项目

一、安装mysql8.0 1. 安装mysql8.0 # 更新安装包管理工具 sudo apt-get update # 安装 mysql数据库,过程中的选项选择 y sudo apt-get install mysql-server # 启动mysql命令如下 (停止mysql的命令为:sudo service mysql stop&#xff0…...

「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型

本篇将详细讲解Cangjie中的整数类型,探讨整数的定义、操作、表示范围、进制表示、类型转换及应用场景,帮助开发者在Cangjie中灵活运用整数类型构建程序逻辑。 关键词 有符号整数与无符号整数表示范围与溢出进制表示类型转换字面量与操作 一、整数类型概…...

渗透测试导学

渗透测试导学 渗透测试概念 渗透测试是干什么? 渗透测试的定义和目的:渗透测试是一种通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全性能的评估方法。它的目的是通过识别安全问题,帮助了解当前的安全状况,从而…...

Django实现智能问答助手-基础配置

设置 Django 项目、创建应用、定义模型和视图、实现问答逻辑,并设计用户界面。下面是一步一步的简要说明: 目录: QnAAssistant/ # 项目目录 │ ├── QnAAssistant/ # 项目文件夹 │ ├── init.py # 空文件 │ ├── settings.py # 项目配…...

亚马逊商品详情API接口解析,Json数据示例返回

亚马逊的商品详情API接口(如Amazon Product Advertising API)允许开发者获取商品的详细信息,包括价格、描述、图片URL等。以下是一个示例的JSON数据返回结构,以及相应的解析说明。请注意,实际返回的数据结构可能会根据…...

git根据远程分支创建本地新分支

比如我当前本地仓库有4个 remote 仓库&#xff0c;我希望根据其中的一个 <remote>/<branch> 创建本地分支&#xff1a; 先使用 github fetch <remote> 拉取 <remote> 的分支信息&#xff0c;然后在 git checkout -b 创建新分支时使用 -t <remote>…...

Android U 多任务启动分屏——SystemUI流程(更新中)

前文 Android U 多任务启动分屏——Launcher流程&#xff08;下分屏&#xff09; 前文说到通过ISplitScreen接口跨进程调用到了SystemUI进程&#xff0c;我们继续分析分屏在systemui中的实现。 wmshell实现分屏 实现ISplitScreen接口 代码路径&#xff1a;frameworks/base/…...

使用SaaS化的Aurora应用快速搭建私人ChatGPT助手

使用SaaS化的Aurora应用快速搭建私人ChatGPT助手 简介&#xff1a; Aurora是一个带UI且免费的GPT私人聊天助手&#xff0c;可切换GPT-3.5&#xff0c;4&#xff0c;4o等常用版本。用户可通过部署Aurora&#xff0c;快速打造自己专属的AI助手。阿里云计算巢已将Aurora打包为SaaS…...

.NET 9与C# 13革新:新数据类型与语法糖深度解析

记录&#xff08;Record&#xff09;类型 使用方式&#xff1a; public record Person(string FirstName, string LastName); 适用场景&#xff1a;当需要创建不可变的数据结构&#xff0c;且希望自动生成 GetHashCode 和 Equals 方法时。不适用场景&#xff1a;当数据结构需…...

2.fs文件系统模块

文章目录 [TOC](文章目录)2.5.练习-成绩管理2.5.1在files文件夹下新建成绩.txt文件2.5.2.新建对应的js文件 2.6.fs模块-路径动态拼接的问题 3.path路径模块3.1什么是path路径模块3.2.路径拼接3.3.获取路径中的文件名3.4.获取路径中的文件扩展名3.5.案例3.5.1.步骤13.5.2.调用fs…...

Ubuntu24.04LTS设置root用户可远程登录

Ubuntu24.04LTS设置root用户可远程登录 文章目录 Ubuntu24.04LTS设置root用户可远程登录1. 设置root密码2. 设置root用户可远程登录1. 查看ssh服务是否安装2. 安装ssh服务3. 再次查看ssh服务是否安装4. 配置ssh文件5. 重启ssh服务6. root远程登录 1. 设置root密码 Ubuntu安装后…...

ROS2指令总结(跟随古月居教程学习)

​ 博主跟随古月居博客进行ROS2学习&#xff0c;对ROS2相关指令进行了总结&#xff0c;方便学习和回顾。 古月居ROS2博文链接&#xff1a;https://book.guyuehome.com/ 本文会持续进行更新&#xff0c;觉得有帮助的朋友可以点赞收藏。 1. ROS2安装命令 $ sudo apt update &am…...

IPTV智慧云桌面,后台服务器搭建笔记

环境CentOs7.9 &#xff0c;安装宝塔yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 访问宝塔&#xff0c;修改服务器端口安全组端口 26029 注意&#xff01;&#xff01;&#xff01;&#xff01…...

徒手从零搭建一套ELK日志平台

徒手从零搭建一套ELK日志平台 日志分析的概述日志分析的作用主要收集工具集中式日志系统主要特点采集日志分类ELK概述初级版ELK终极版ELK高级版ELKELK收集日志的两种形式 搭建ELK平台Logstash工作原理Logstash核心概念环境准备安装部署docker添加镜像加速器安装部署Elasticsear…...

udp_socket

文章目录 UDP服务器封装系统调用socketbind系统调用bzero结构体清0sin_family端口号ip地址inet_addrrecvfromsendto 新指令 netstat -naup (-nlup)包装器 的两种类型重命名方式包装器使用统一可调用类型 关键字 typedef 类型重命名系统调用popen UDP服务器封装 系统调用socket …...

肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)

大家好&#xff01;我是凯哥&#xff0c;今天给大家分享一下云计算学习路线图。这是我按照自己最开始学习云计算的时候的学习路线&#xff0c;并且结合自己从业多年所涉及的知识精心总结的云计算的思维导图。这是凯哥精心总结的&#xff0c;花费了不少精力哦&#xff0c;希望对…...

【Golang】手搓DES加密

代码非常长 有六百多行 参考一位博主的理论实现 通俗易懂&#xff0c;十分钟读懂DES 还有很多不足的地方 感觉只是个思路 S盒&#xff08;理论既定&#xff09; package src// 定义S - 盒的置换表 var SBoxes [8][4][16]int{{{14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, …...

YouQu使用手册【元素定位】

元素定位 文章目录 前言一、气泡识别二、不依赖OpenCV的图像识别方案三、动态图像识别四、背景五、sniff(嗅探器)使用六、元素操作七、框架封装八、背景【OCR识别】九、实现原理十、使用说明十一、RPC服务端部署十二、负载均衡十三、链式调用十四、背景【相对坐标定位】十五、…...

Spark RDD sortBy算子什么情况会触发shuffle

在 Spark 的 RDD 中&#xff0c;sortBy 是一个排序算子&#xff0c;虽然它在某些场景下可能看起来是分区内排序&#xff0c;但实际上在需要全局排序时会触发 Shuffle。这里我们分析其底层逻辑&#xff0c;结合源码和原理来解释为什么会有 Shuffle 的发生。 1. 为什么 sortBy 会…...

机器视觉相机重要名词

机器视觉相机的重要名词包括&#xff1a; • 工业数字相机&#xff1a;又称工业相机&#xff0c;是机器视觉系统中的关键组件。 • 电荷偶合元件&#xff08;CCD&#xff09;&#xff1a;一种图像传感器&#xff0c;能将光学影像转换为数字信号。 • 互补金属氧化物半导体&…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...