首页 > 其他分享 >99元阿里云服务器部署若依前后端分离版(ruoyi-vue)

99元阿里云服务器部署若依前后端分离版(ruoyi-vue)

时间:2024-09-18 13:26:14浏览次数:12  
标签:npm vue java sun ruoyi desktop 99 usr local

1. 购买阿里云

最近阿里云推出99元套餐,相当划算,薅羊毛搞起 ->新老同享阿里云99一年

        系统选择centos

2. 安装JDK

        JDK >= 1.8 虽说推荐1.8版本,但毕竟有点老,我选的JDK17,安装过程如下:

# 下载安装包

wget https://download.oracle.com/java/17/archive/jdk-17.0.1_linux-x64_bin.tar.gz

# 解压

输入tar zxvf jdk-17.0.1_linux-x64_bin.tar.gz

# 移动到/usr/local/目录下

mv jdk-17.0.1 /usr/local/

# 配置jdk环境

vim /etc/profile

# 添加如下配置

export JAVA_HOME=/usr/local/jdk-17.0.1

export CLASSPATH=.:$JAVA_HOME/lib/

export PATH=.:$JAVA_HOME/bin:$PATH

# 配置生效

source /etc/profile

# 验证安装

java -version

3. 安装Mysql

        Mysql >= 5.7.0 (推荐5.7版本)

# 确保服务器系统处于最新状态

yum -y update

# 检查是否已经安装,如果已经安装先删除以前版本,未安装的跳过此步

rpm -qa | grep mysql

rpm -e mysql57-community-release

# 下载MySql安装包

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# 安装MySql

yum install mysql-community-server

遇到报错:

The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.

Public key for mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm is not installed

安装换成如下命令:

yum install mysql-community-server --nogpgcheck

# 启动服务

systemctl start mysqld

# 获取临时密码

grep 'temporary password' /var/log/mysqld.log

# 登录MySQL

mysql -u root -p

# 修改密码,默认密码长度大于8,且必须含有数字,小写或大写字母,特殊字符

alter user 'root'@'localhost' identified by '你的密码';

# 也可修改密码设置规则

set global validate_password_policy=0;

set global validate_password_length=1;

# 修改MySQL默认编码

exit  #退出mysql

vim /etc/my.cnf  #进入my.cnf文件

添加如下代码:

character_set_server=utf8

init_connect='SET NAMES utf8'

systemctl restart mysqld  #启动mysql

mysql -u root -p      #登录mysql

show variables like '%character%'; #查看编码

-- 修改密码

UPDATE mysql.user SET authentication_string=PASSWORD('你的密码') WHERE User='root';

use mysql;

-- 查看用户表权限:

select host,user from user;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; 

-- 命令立即执行生效(千万不要忘记刷新!!!)

flush privileges;

配置阿里云服务器,安全组->管理规则->手动添加,放开3306端口


4. 安装Redis

        Redis >= 3.0,这里以3.2.10为例

# 没有先创建

cd /usr/local/redis

# 下载压缩包

wget http://download.redis.io/releases/redis-3.2.10.tar.gz

# 解压

tar -zxvf redis-3.2.10.tar.gz

# 进入解压目录

cd redis-3.2.10

# 安装(在redis-3.2.10下)

make

# 编辑配置文件

vim ./redis.conf

将 daemonize no 改成 daemonize yes(在128行左右)

# 启动服务:

./redis-server  ../redis.conf

5. 安装nodejs

Node >= 12,nodejs官网下载,我选的v16

上传nodejs到服务器

# /usr/local 下解压

tar -xvf node-v16.13.1-linux-x64.tar.xz

# 修改名称为nodejs16

# 修改环境变量

vim ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/nodejs16/bin

export PATH

# 保存退出后执行

source ~/.bash_profile

# 建立软连接

ln -s /usr/local/nodejs16/bin/node /usr/local/bin/node

ln -s /usr/local/nodejs16/bin/npm /usr/local/bin/npm

# 更改npm包下载地址

npm config set registry https://registry.npm.taobao.org

# 查看修改结果

npm config get registry

6. 部署后端服务

6.1 创建database

CREATEDATABASE `ry-vue`CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;

6.2 导入sql

上传sql文件ry_20231130.sql,mysql中执行导入

source /home/work/ruoyi/ry_20231130.sql

6.3 代码打包

先修改配置文件中的数据库用户名、密码、上传路径、日志文件配置,再打包

mvn clean package

找到admin下的target,打出来的jar包即可上传到服务器

上传ry.sh,执行 sh ry.sh start 启动服务

7. 运行前端

上传 ruoyi-ui 到服务器

cd ruoyi-ui

# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。

npm install --registry=https://registry.npmmirror.com

# 启动项目

nohup npm run dev &

8.页面展示

利用服务器的公网IP和端口,访问页面

登录后:

服务刚启动时,遇到一个问题:

ERROR c.r.f.w.e.GlobalExceptionHandler - [handleException,104] - 请求地址'/captchaImage',发生系统异常.

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException

Caused by: java.lang.reflect.InvocationTargetException: null

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)

at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:85)

... 117 common frames omitted

Caused by: java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration

at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1269)

at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:224)

at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:106)

at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:706)

at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:358)

at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:315)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)

at java.desktop/sun.font.SunFontManager.(SunFontManager.java:315)

at java.desktop/sun.awt.FcFontManager.(FcFontManager.java:35)

at java.desktop/sun.awt.X11FontManager.(X11FontManager.java:56)

... 123 common frames omitted

是因为使用的OenJDK不支持awt包下的字体,安装FontConfig组件即可

yum install -y fontconfig

安装后重启服务,完成!


标签:npm,vue,java,sun,ruoyi,desktop,99,usr,local
From: https://blog.51cto.com/u_1366433/12044872

相关文章

  • 基于SpringBoot+vue的校园消费点评系统设计与实现
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.作者推荐项目12.为什么选择我?13.获取源......
  • 【Java】若依(ruoyi)——7.代码生成(二)细节操作
    之前我们已经学习了代码生成的基础使用:https://www.cnblogs.com/luyj00436/p/18398248。即创建数据库并根据三种数据结构生成代码。1.基本信息和生成信息 前缀可以在配置表设置默认配置。单应用在resources目录下的application.yml,多模块ruoyi-generator中的resources目录下......
  • 【Java】若依框架(RuoYi-master)——8.文件上传
     若依框架的自带上传和下载功能,但需要我们进行恰当的操作(具体也可以参考示例和源码)。 新建表格新建一张学生信息表(这里的字段、文件路径、文件名称与改说明相关):DROPTABLEIFEXISTS`sys_student`;CREATETABLE`sys_student`(`student_id`intNOTNULLAUTO_INCRE......
  • 【开题报告】基于Springboot+vue基于微信小程序的手机点餐软件(程序+源码+论文) 计算机
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展和智能手机普及率的不断提高,人们的生活方式正经历着深刻的变革。餐饮行业作为传统服务业的重要组成部分,也迎来了数字化......
  • 【开题报告】基于Springboot+vue图书管理系统(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,传统图书管理方式已难以满足现代图书馆高效、便捷的管理需求。传统的图书管理依赖于人工记录与检索,不仅效率低下,而且容易出错,......
  • SpringBoot+Neo4j+Vue+Es集成ES全文检索、Neo4J知识图谱、Activiti工作流的知识库管理
    在数字化高度普及的时代,企事业机关单位在日常工作中会产生大量的文档,例如医院制度汇编,企业知识共享库等。针对这些文档性的东西,手工纸质化去管理是非常消耗工作量的,并且纸质化查阅难,易损耗,所以电子化管理显得尤为重要。【springboot+elasticsearch+neo4j+vue+activiti】实现数......
  • VUE框架CLI组件化组件绑定自定义事件时回调函数的this对象------VUE框架
    <template> <div> <!--内置函数的实现步骤--> <!--提供事件源,给事件源绑定事件,编写回调函数,将回调函数和事件进行绑定--> <!--等待事件的触发,事件触发执行回调函数--> <!--组件的自定义事件实现步骤--> <button@click="Hello()">你好</button> <!--给Us......
  • Vue自定义指令以及项目中封装过的自定义指令
     自定义指令Vue 自定义指令是Vue.js框架中一个非常强大的功能,它允许你注册一些全局或局部的自定义DOM操作指令,以便在模板中复用。自定义指令通过Vue.directive()方法进行全局注册,或者在组件的directives选项中局部注册。自定义指令的钩子函数Vue自定义指令可以包含几个......
  • 99元阿里云服务器部署若依前后端分离版(ruoyi-vue)
    1.购买阿里云最近阿里云推出99元套餐,相当划算,薅羊毛搞起->新老同享阿里云99一年    系统选择centos2.安装JDK        JDK>=1.8虽说推荐1.8版本,但毕竟有点老,我选的JDK17,安装过程如下:#下载安装包wgethttps://download.oracle.com/java/17/archive/jdk......
  • [附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
    今天带来一款优秀的项目:个人博客系统源码 。系统采用的流行的前后端分离结构,内含功能包括"写博客文章",“修改博客文章”,“富文本编辑器”,“评论管理”“管理员角色”,“游客角色”,“文章标签”,“文章分类”如果您有任何问题,也请联系小编,小编是经验丰富的程序员! 一.系统演......