当前位置: 首页 > 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;这…...

【嵌入式Linux】MBR分区表 和 GPT分区表

文章目录 GUID以及分区表MBR分区方案GPT 分区方案GPT分区表结构 GPT分区表LBALBA0&#xff08;MBR兼容部分&#xff09;LBA1LBA 2-33python生成GPT分区表gpt分区表实例 gpt分区表查看查看百问网T113-s3固件查看友善之臂nanopi-m1-plus官方固件查看荣品RV1126固件查看f1c200s固件…...

【华为OD机试真题】MVP争夺战(python)100%通过率 超详细代码注释 代码解读

【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ MVP争夺战 知识点DFS搜索 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在星球争霸篮球赛对…...

实战打靶集锦-019-BTRSys2.1

提示&#xff1a;本文记录了博主的一次普通的打靶经历 目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 FTP服务探查4.2 Apache服务探查4.2.1 wpscan扫描4.2.2 Metasploit神器4.2.3 手工探查页面4.2.3.1 Appearance Editor4.2.3.2 Plugins Editor 5. 提权5.1 系统信息枚…...

2023中国(苏州)国际电源工业展览会暨高端论坛

时间&#xff1a;2023年11月9&#xff5e;11日 地点&#xff1a;苏州国际博览中心 30000㎡展出面积 500参展商 50000名专业观众 中国电源行业风向标----相约苏州&#xff0c;共襄盛举&#xff01; ◆展会背景Exhibition background&#xff1a; …...

基于SpringBoot+Vue的校园疫情防控系统(附源码和数据库)

文章目录 第一章2.主要技术第三章第四章 系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数据库表 第五章 系统功能实现5.1系统功能模块5.2后台功能模块5.2.1管理员功能 源码咨询 第一章 springboot校园疫情防控系统演示录像2022 一个好的系统能将校园疫情防控的管理…...

Docker启动安装nacos

当需要在本地或云环境中部署和管理微服务时&#xff0c;Nacos是一个非常流行的选择。Nacos是一个用于动态服务发现、配置管理和服务管理的开源平台。在本文中&#xff0c;我们将详细介绍如何使用Docker来启动和安装Nacos。 步骤1&#xff1a;安装Docker 首先&#xff0c;确保…...

FastDFS总结

目录 概述 什么是分布式文件系统 核心概念 目录结构 上传机制 下载机制 Linux中搭建FastDFS 常用指令 SpringBoot整合FastDFS FastDFS集成Nginx 概述 FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件&#xff…...

【职场新人备忘录】新人职场生存指南:快速适应、持续成长和个人提升

新人职场生存指南&#xff1a;快速适应、持续成长和个人提升 引言 职场对于新人来说充满了新的挑战和机遇。作为一名新人&#xff0c;如何在职场中快速适应、获得成长和提升自己是至关重要的技能。本备忘录旨在为职场新人提供实用的职场tips&#xff0c;帮助他们在职场中取得…...

SpringCloud Alibaba详解

目录 微服务架构概念 服务治理 服务调用 服务网关 服务容错 链路追踪 SpringcloudAlibaba组件 Nacos 负载均衡 Ribbon Fegin Sentinel 高并发测试 容错方案 Sentinel入门 Feign整合Sentinel 微服务架构概念 服务治理 服务治理就是进行服务的自动化管理&#xf…...

Golang每日一练(leetDay0065) 位1的个数、词频统计

目录 191. 位1的个数 Nnumber of 1-bits &#x1f31f; 192. 统计词频 Word Frequency &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 191. 位1的个数 Nnum…...