当前位置: 首页 > 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;能将光学影像转换为数字信号。 • 互补金属氧化物半导体&…...

重磅!移远通信旗下物联网智能品牌 艾络迅™ 正式发布

物联网技术正深刻重塑产业格局&#xff0c;智能化转型已成为企业核心竞争力的关键。然而&#xff0c;企业在推进物联网项目时普遍面临技术门槛高、开发周期长、系统对接难、全球连接复杂等核心挑战。为破解行业智能化转型难题&#xff0c;帮助更多企业提升物联网开发效率&#…...

别再傻傻传文件了!用Java Base64把图片和PDF直接“塞”进HTML页面(附完整代码)

告别文件传输&#xff1a;Java Base64技术实现图片与PDF的HTML直嵌方案 在Web开发中&#xff0c;我们经常遇到需要将图片或PDF文档直接嵌入HTML页面的场景。传统做法通常需要先将文件上传到服务器&#xff0c;然后通过URL引用&#xff0c;这不仅增加了网络请求&#xff0c;还引…...

将Taotoken作为内部AI中台统一对接各类客户端工具

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 将Taotoken作为内部AI中台统一对接各类客户端工具 设想一个中型研发团队&#xff0c;内部已经引入了Claude Code、OpenClaw等多种A…...

Narrative-craft:工程化叙事框架的设计、实现与集成指南

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Narrative-craft”&#xff0c;作者是chengjialu8888。光看名字&#xff0c;你可能会觉得这又是一个讲“叙事”或者“故事创作”的抽象工具。但点进去仔细研究后&#xff0c;我发现它远不止于此。这…...

别再为本科毕业论文熬大夜!Paperxie 智能写作,一键搞定终稿的正确姿势

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 又到了本科毕业论文冲刺的季节&#xff0c;多少同学还在对着空白文档发呆&#xff1f;选题纠结半天定不下来&…...

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南

如何构建高效的个人游戏串流服务器&#xff1a;Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代&#xff0c;游戏玩家面临着设备限制与体验…...

LangChain集成MCP协议:构建模块化AI应用的新范式

1. 项目概述&#xff1a;当LangChain遇见MCP&#xff0c;构建下一代AI应用的新范式如果你最近在捣鼓LangChain&#xff0c;想给AI应用加点“料”&#xff0c;比如让它能实时查询数据库、调用外部API&#xff0c;甚至控制智能家居&#xff0c;那你大概率会遇到一个核心痛点&…...

LVGL列表控件实战:5分钟搞定一个带图标和事件响应的菜单界面

LVGL列表控件实战&#xff1a;5分钟打造高交互性嵌入式菜单界面 在嵌入式设备的人机交互设计中&#xff0c;菜单界面是最基础也最关键的组件之一。想象一下&#xff0c;当你需要为智能家居控制面板设计一个简洁明了的操作菜单&#xff0c;或者为工业设备开发一个功能选择界面时…...

Windows安卓开发环境一键配置:告别繁琐驱动的终极解决方案

Windows安卓开发环境一键配置&#xff1a;告别繁琐驱动的终极解决方案 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/l…...

谷歌seo如何发布外链? 推荐3个外贸SOHO全自动工具

身处外贸圈的人都明白&#xff0c;空有一身好产品&#xff0c;网站在谷歌搜不到也是白搭。现在的算法比五年前聪明太多&#xff0c;靠那种五块钱一千条的群发软件纯属给自己的域名“投毒”。我在操作几十个独立站的过程中发现&#xff0c;外链的数量早就不吃香了&#xff0c;现…...