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

springboot + vue 部署 阿里云云服务器 ECS

安装所需文件

安装mysql5.7

  • 下载MySQL的yum源配置
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
  • 安装MySQL的yum源
yum -y install mysql57-community-release-el7-11.noarch.rpm
  • 使用yum方式安装MySQL5.7(下载需要点时间,我们可以在网速比较好的地方下载)
yum -y install mysql-server --nogpgcheck --nogpgcheck #不校验数字签名
  • MySQL5.7的开启关闭和开机自启命令
systemctl start mysqld.service 
systemctl status mysql.service
  • 登录mysql前需找到mysql的默认密码 cat /var/log/mysqld.log| grep password
cat /var/log/mysqld.log| grep password 
# 2022-11-02T15:01:52.976608Z 1 [Note] A temporary password is generated for root@localhost: !Th7<vMBA2w_
  • 登录mysql
mysql -uroot -p'!Th7<vMBA2w_'
  • 登录进mysql,要求更改密码(密码需要一定的复杂度),并且给其他机器授权可以登录mysql
# 密码要数字、字母大写、小写、特殊字母
ALTER USER USER() IDENTIFIED BY '3133030Liu,';# (立即刷新配置)
flush privileges;grant all privileges on . to 'root'@'%' identified by '3133030Liu,' with grant option; # (立即刷新配置)
flush privileges;
  • 修改MySQL默认的密码策略(使MySQL可以设置简单的密码)
set global validate_password_policy=0;
set global validate_password_length=1; 
flush privileges;
  • 这时我们可以给mysql设置简单的密码,再授权
alter user 'root'@'localhost' identified by '123456';
# grant all privileges on . to 'root'@'%' identified by '123456' with grant option;
flush privileges;
  • 再次登录
exit  #退出MySQL
mysql -uroot -p123456  #使用刚设置的简单密码登录一下MySQL

安装nginx

  • 安装epel-release 因为Nginx并不在官方的yum源中,需要第三方的yum源
# 我们在Centos下使用yum安装时往往找不到rpm的情况,官方的rpm repository提供的rpm包也不够丰富,
# 很多时候需要自己编译很痛苦,而EPEL恰恰可以解决这两方面的问题
yum -y install epel-release# 更新yum源
yum -y update
  • 安装Nginx
yum install -y nginx
  • 验证nginx安装是否成功
# 查看nginx安装版本,-V可以看到nginx的安装的文件路径
nginx -V # 查看安装的nginx的版本
rpm -qa | grep nginx
  • Nginx启动、设置开机自启、查看运行状态、停止命令
systemctl start nginx
systemctl enable nginx
systemctl status nginx
systemctl stop nginx
  • 相关文件路径
#编辑Nginx配置文件
vim /etc/nginx/nginx.conf#检测配置文件语法是否正确
nginx -t#重新加载Nginx配置
nginx -s reload# 日志路径
/var/log/nginx

安装redis

  • 安装redis数据库
# 上面已经  yum install epel-release 过了一次,直接就可以安装redis
yum install -y redis
  • 安装完毕后,使用下面的命令启动redis服务
# 启动redis
service redis start# 停止redis
service redis stop# 查看redis运行状态
service redis status# 查看redis进程
ps -ef | grep redis
  • 设置redis为开机自动启动
chkconfig redis on
  • 进入redis服务
# 进入本机redis
redis-cli# 列出所有key
keys *

安装java

  • 下载
    下载jdk地址:https://www.oracle.com/cn/java/technologies/downloads/
    在这里插入图片描述
    下载账号:
// 自己搜:Oracle官网登录用户名密码分享
账号:1971159263@qq.com
密码:Jia19981203
  • 上传
    下载并使用FinalShell工具上传文件
  • 解压
# 解压
tar -zxvf jdk-8u371-linux-x64.tar.gz# 移动
mv jdk1.8.0_371 /home/jdk8# 到此目录下
cd /home/jdk8/bin# 运行此命令可以查看,刚安装好后的版本号
./java -version
  • 配置全局的环境变量

写入配置文件

vim /etc/profile

在配置文件最后面加上这一句

JAVA_HOME=/home/jdk8
PATH=$JAVA_HOME/bin:$PATH

重新加载profile文件,使更改的配置立即生效

source /etc/profile
  • 检查安装是否成功
java -version

开放防火墙接口

mysql的端口为3306
redis的端口为6379

CentOS 7.9 防火墙开放端口

  • 开放固定端口(我比较懒直接关闭防火墙)
# 开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent # 配置立即生效
firewall-cmd --reload 
  • 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
  • 防火墙操作
# 查看防火墙状态
systemctl status firewalld.service     # 本次访问关闭防火墙
systemctl stop firewalld.service     # 从下次开始关闭防火墙
systemctl disable firewalld.service   # 打开防火墙
systemctl enable firewalld.service   # 重启防火墙
systemctl restart network

阿里云开放安全组端口

在这里插入图片描述

准备配置

nginx

/etc/nginx/conf.d建立一个子配置文件

cd /etc/nginx/conf.d
vim airport.conf

文件内容

    server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /mnt/www/airport; # 前端工程文件放置的位置index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

重启nginx

nginx -s reload

创建项目目录放置文件夹

cd /mnt
mkdir -p www/airport
cd www/airport
# 随便写点什么,看看是否能访问
vim index.html

访问:http://8.134.93.xxx/(你自己的阿里云地址)
在这里插入图片描述

redis

vim /etc/redis.conf

把​bind 127.0.0.1​​改成bind 0.0.0.0,让外网可以访问(有黑客攻击的风险)

notify-keyspace-events改成notify-keyspace-events Ex(30分钟未支付出发支付过期方案)

注意:改了配置要重启Redis

# redis-server /etc/redis.conf
# 停止redis
service redis stop
# 启动redis
service redis start

mysql

让外网可以访问
登入mysql

mysql -uroot -p123456
# 首先先进入mysql的服务,选择mysql这个库,然后查看user用户的host属性,会发现其host属性值是localhost,意思是只准许本地的连接访问。此时我们要对他修改为谁都可以访问的。
# 修改的sql语句如下:
use mysql;
update user set host="%" where user="root";
flush privileges;

外网就能访问了

项目上传

先把数据库表创建出来

springboot项目打包上传

修改配置文件(上传文件路径、mysql地址账号、redis地址密码等要修改)
在这里插入图片描述
打包
在这里插入图片描述
打包后的地址
在这里插入图片描述
上传jar包到阿里云服务器
在这里插入图片描述
启动服务

nohup java -jar ticket_back-0.0.1-SNAPSHOT.jar > ticket_back.log  2>&1 &

前端

  • 项目配置修改
    vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'// https://vitejs.dev/config/
export default defineConfig({//基本路径 文件打包后放的位置publicPath: './',//默认输出文件夹为dist,填入的名字为打包后的文件名outputDir: 'name',// 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。资源放的目录assetsDir: './static',// 指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径 index的路劲和名字indexPath: './index.html',//打包后是否生成map文件,map文件能看到错误代码位置,设置为false不生成map文件,打包体积缩小productionSourceMap: false,plugins: [AutoImport({resolvers: [ElementPlusResolver()],}),Components({resolvers: [ElementPlusResolver()],}),vue()],resolve: {alias: {"~": path.resolve(__dirname, "src")}},server: {// host设置为true才可以使用network的形式,以ip访问项目host: true,// 端口号port: 3100,// 自动打开浏览器open: true,// 跨域设置允许cors: true,// 如果端口已占用直接退出strictPort: true,// 接口代理proxy: {'/api': {target: 'http://8.134.93.xxx:8081',// 允许跨域changeOrigin: true,// 重写地址rewrite: (path) => path.replace('/api/', '/')}}},build: {// 在生产环境移除console.logterserOptions: {compress: {drop_console: true,drop_debugger: true},},},css: {preprocessorOptions: {// 全局样式引入scss: {additionalData: '@import "./src/assets/scss/common.scss";',javascriptEnabled: true}}}
})
  • 打包npm run build
  • nginx 配置修改(主要文件路径和vue代理修改了)
    server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /mnt/www/airport/dist;index  index.html index.htm;# 添加下面的几行 vue项目刷新不会404try_files $uri $uri/ @router;}# 添加下面的几行 vue项目刷新不会404location @router {rewrite ^.*$ /index.html last;}# 设置反向代理,因为前台是通过代理访问的  记得加上 最后的/不然无效。location /api/ {proxy_pass      http://8.134.93.xxx:8081;proxy_cookie_path / /api;proxy_redirect default;rewrite ^/api/(.*) /$1 break;client_max_body_size 500m;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

重启

nginx -s reload

可以访问项目了

相关文章:

springboot + vue 部署 阿里云云服务器 ECS

安装所需文件 安装mysql5.7 下载MySQL的yum源配置 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装MySQL的yum源 yum -y install mysql57-community-release-el7-11.noarch.rpm使用yum方式安装MySQL5.7&#xff08;下载需要点时间&#xf…...

mysql 日期 计算 时间差 天数差

mysql计算两个日期的时间差 第一种&#xff1a;TIMESTAMPDIFF函数 三个参数。第一个参数是比较的类型&#xff1a;FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER、YEAR几种类型。第二、三参数是时间&#xff0c;后减前: SELECT TIMESTAMPDIFF(DAY,20…...

不用网闸、FTP的话 如何实现内外网数据交换?

网络隔离已然成为很多企业首选的数据保护方式&#xff0c;即使是内部人员之间&#xff0c;也是不能随意的发送敏感文件的。但是&#xff0c;文件的流转交互&#xff0c;又是不可避免的&#xff0c;网络隔离保障了企业网络安全&#xff0c;但在具体实践中仍需解决各隔离网间的数…...

探寻Spring MVC的奥秘:内部组件与工作流程详解

Spring MVC是一个基于MVC架构模式的Web框架&#xff0c;是Spring框架的一个组件。它提供了一套Web应用程序开发的全面解决方案&#xff0c;包括从请求到响应的处理流程、处理请求的控制器、视图解析器、国际化和验证器等。 在这篇文章中&#xff0c;我们将介绍Spring MVC框架的…...

eclipse svn ClassNotFoundException: javassist.ClassPool

eclipse 五月 10, 2023 9:26:49 上午 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter struts2 java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl M e t h o d I n j e c t o r F…...

广度优先遍历搜索迷宫最短路径

思路分析 由于广度是扩散逐层的方式遍历&#xff0c;相当于是多条路同时跑&#xff0c;最后先到终点就是最短路径了。 广度优先搜索主要使用队列来进行处理 路径用一个单独的vector存储&#xff0c;每一个点的坐标由二维转为一维&#xff0c;如(2, 3)存储在vector中下标为2*…...

分布式计算基础知识

分布式系统的概念 分布式系统是由多个独立计算机组成的系统&#xff0c;这些计算机通过网络进行通信和协作&#xff0c;共同完成一个任务。分布式系统的特点是具有高可用性、可扩展性和容错性。 在分布式系统中&#xff0c;每个计算机节点都可以独立地执行任务&#xff0c;同…...

Mybatis方式完成CRUD操作

Mybatis方式完成CRUD操作 文章目录 Mybatis方式完成CRUD操作1、java以Mybatis方式操作DB1.1、配置数据源-创建 resources/mybatis-config.xml1.2、创建java bean-Monster1.3、配置Mapper接口声明方法1.4、配置xxMapper&#xff0c;完成SQL配置,实现CRUD操作1.5、Test测试 2、需…...

css背景 background的属性作用和值

当我们在 HTML 中设置背景时&#xff0c;可以使用 background 属性。这个属性有多个值&#xff0c;可以使用不同的值来设置背景图片、背景颜色、背景位置、背景重复等等。以下是用表格列出的常见的 background 属性的值及其作用&#xff1a; 属性值描述background-color设置背…...

六大行文化特色知识(上)

中国六大银行都是综合性大型商业银行&#xff0c;业务涵盖面广泛且多元&#xff0c;代表着中国金融界最雄厚的资本和实力&#xff0c;这也是为什么很多毕业生想进国有行的原因&#xff0c;今天小编就带大家来了解一下关于六大行的特色知识&#xff0c;从如信银行考试中心平台了…...

匿名对象的特性和使用场景你知道吗?

目录 一、匿名对象的概念 二、单参数和多参数构造场景的匿名对象 ①只有一个参数的构造函数 ②多个参数的构造函数 三、使用匿名对象作为函数的参数的缺省值 四、只为调用类中的一个函数时 五、匿名对象的特性 1、匿名对象的生命周期只有一行 2、匿名对象具有常性 3、当匿…...

企业应该如何做到数字化转型成功?

01 成长型企业数字化转型的意义 成长型企业想要实现数字化转型&#xff0c;那么我们需要先弄明白&#xff0c;对于成长型企业而言&#xff0c;数字化转型到底具有什么意义&#xff1f;希望实现哪些目标&#xff1f; 可以归结为以下四点&#xff1a; 提升企业的生产力和效率&…...

PBDB Data Service:Bibliographic references for fossil collections(采集记录参考书目)

Bibliographic references for fossil collections&#xff08;采集记录参考书目&#xff09; 描述用法参数以下参数可用于检索与通过各种条件选择的集合关联的引用您可以使用以下参数根据书目参考文献的属性筛选结果集以下参数也可用于筛选选择以下参数可用于根据所选匹配项的…...

浅析图形验证码安全

0x01 前言 验证码的定义&#xff1a; 验证码&#xff08;CAPTCHA&#xff09;是“Completely Automated Public Turing test to tell Computers and Humans Apart”&#xff08;全自动区分计算机和人类的图灵测试&#xff09;的缩写&#xff0c;是一种区分用户是计算机还是人的…...

论文笔记:基于手机位置信息的地图匹配算法

2015计算机应用 整体思路和论文笔记&#xff1a;Hidden Markov Map MatchingThrough Noise and Sparseness_UQI-LIUWJ的博客-CSDN博客 很像&#xff0c;也是应用HMM进行地图匹配 HMMM本文 状态转移矩阵 观测概率矩阵 正态分布均值都是0&#xff0c;唯一不同的是S…...

因果推断系列16-面板数据与固定效应

因果推断系列16-面板数据与固定效应 1.平行趋势2.未观测变量的控制3.固定效应4.固定效应可视化5.时间效应小结加载第三方包 import warnings warnings.filterwarnings(ignore)import pandas as pd import numpy as np from matplotlib import style from matplotlib import...

第三十三章 弹性池塘2(弹城少年歌词)

熟悉的K26&#xff0c;熟悉的漉菽香味&#xff0c;熟悉的絮絮叨叨。 为什么坎迪总有那么多话想说&#xff0c;就算恢复正常&#xff0c;自己应该也找不出如滔滔江水连绵不断的语词洪流吧。 不&#xff0c;不是词汇量的问题。 当你习惯于将金玉良言与废屁空套话区分开来时&#…...

PMP之预测部分

引论 什么是项目 项目是为创造独特的产品、服务或成果而进行的临时性工作。 项目管理是把事办成的方法论&#xff0c;万物皆可项目。 项目的基本要素 项目&#xff08;独特性、临时性&#xff09;、驱动变更、启动背景、创造商业价值。 组织级项目管理&#xff08;OPM&am…...

Node.js 异步流控制

目录 1、简介 2、状态管理 3、控制流 3.1、串联 3.2、完全并行 3.3、有限并行 1、简介 在其核心&#xff0c;JavaScript被设计为在“主”线程上是非阻塞的&#xff0c;这是呈现视图的位置。你可以想象这在浏览器中的重要性。例如&#xff0c;当主线程被阻塞时&#xff0…...

掌握这些思维技巧,解救996的打工人!

你身边有没有这样的人&#xff1a;面对堆积如山的工作、随时弹出的任务&#xff0c;接二连三的群也能游刃有余地处理。回看自己&#xff0c;旧的任务还在做&#xff0c;新的任务已经从天而降&#xff0c;日程表上满是任务却无从下手…… 明明忙个不停却成果甚微&#xff0c;这…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

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

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

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...