/MyIona

又一款javaweb简单微博系统供你学习, SpringBoot+Vue

Primary LanguageJava

MyIona

这是我业余时间写好的JavaWeb项目, 一个简单的微博系统, 可以发博,点赞,转发,评论,同时拥有在线聊天,实时通知系统

详细的项目说明可以见,在线项目说明

本项目已经部署在阿里云,项目地址

项目效果图

登录页

注册页

忘记密码

首页

博文详情

## 回复博文

个人信息浏览

头像修改

聊天室

项目流程图

部署步骤

0 修改项目各类配置

当没有正式域名的时候,使用固定IP是种临时有效简单的方式,不过也会引发一定的问题,那就是迁移的时候,需要在手动修改以下配置才行

本项目目前在迁移项目时,可能需要修改的配置有: 1. application.properties的iona.baseurl 2. 前端vue项目propertis.js的BASEURL 3. 其他你搜索到的写死IP的地方

1 准备SpringBoot可执行jar包

可以直接下载war/my-iona-0.0.1-prod.jar

或者自己从源代码构建新的jar包

如果有修改过配置,则请务必重新构建一下jar包

步骤如下:

  1. git clone

  2. 导入本项目到您本地的IDE工具中,推荐IDEA

  3. 根据自身情况选择在application.properties中调整开发模式还是生产模式, spring.profiles.active属性进行控制

  4. 使用IDE工具重新编译

  5. 依次使用maven的clean,compile,package指令打包,默认的,会在target/下得到my-iona-0.0.1-SNAPSHOT.jar文件, 即新的jar包(若package指令报错,应该是你没有搭建并运行本地的redis, 因为本项目使用了redis,springBoot启动的时候会进行连接测试, 可以查看本手册的第7部分查看部署redis方式, redis部署)

如果你想更改前端内容, 请前往MyIona-Vue项目查看并按照说明进行修改,最后导出dist文件夹内容复制到resource/static目录下即可

如果不希望package命令自动运行test(会使得数据库连接开启, 如果数据库配置不正确, 会导致打包失败), 使用-Dmaven.test.skip=true

mvn -Dmaven.test.skip=true package

3 准备一台云服务器

  1. 准备一台云服务器, 比如我是用的腾讯云

  2. 节点选择离自己最近的位置

  3. 系统镜像推荐选择CentOS, 或者Ubuntu

购买完成后,我们必须做一些基本的配置

  1. 设置root密码或者密钥

  2. 使用ssh工具测试是否能连接(先检查云服务器22端口是否正常)

  3. 添加防火墙设置,将8080端口放行,保证80,443端口正常

4 登录我们的云服务器并上传jar包

  1. 执行ssh root@云服务器公网ip地址登录我们的云服务器终端

  2. 在当前用户home目录下,创建目录spring-boot-jar

  3. 执行scp /path/to/my-iona-0.0.1-prod.jar root@云服务器公网ip地址:~/spring-boot-jar,将我们的可执行jar包传至云服务器

5 安装jdk或者jre

先使用java -version查看是否已经安装java

如果确定没有, 可以去官网下载, 或者使用包管理工具安装

如果你比较懒!那么请和我一样使用包管理工具安装java,它会帮我们自动完成java_home等一些环境变量的创建

ubuntu用户

  1. 执行ssh root@云服务器公网ip地址登录我们的云服务器终端

  2. 执行sudo apt update,将更新apt,若不更新可能会在安装java包的时候出错

  3. 执行sudo apt install openjdk-8-jdk,由于java8后都是收费的,为了减少不必要的麻烦,我们安装openjdk即可,目前来看两者没有什么区别

centos用户

  1. yum update先做下更新

  2. yum list java-1.8* 使用此命令来列举所有目前yum上可以安装的java1.8版本包

  3. 随后请自己挑一个包安装, yum install -y java-1.8.0-openjdk* -y的意思是永远回答yes

6 mysql环境部署

mysql环境部署

  1. 安装mysql8.x https://zazalu.space/2019/06/14/ubuntu18-04%E5%AE%89%E8%A3%85mysql8-0-16-Community/

CentOs安装: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

  1. 创建一个zazalu的mysql用户,由于我的数据库配置中使用了zazalu用户进行登录,所以需要创建一个叫zazalu的用户
1) 先使用root账户进行登录 
mysql -u root -p 

2) 在mysql交互界面使用如下面指令创建zazalu用户,并给予它所有权限
create user 'zazalu'@'localhost' identified by '!密码!';
GRANT ALL ON *.* TO 'zazalu'@'localhost';

  1. 上传sql/MyIona.sqlsql/MyIona_data.sql至云端,这是本系统运行的初始测试数据

  2. 依次执行这两个sql

在mysql控制台执行
mysql>source /path/MyBelfast.sql

7 Redis部署

安装redis

  1. 下载redis压缩包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz (目前我看最新的是5.0.7, 请自行根据所需下载指定版本)

  2. 解压缩 tar xzf redis-5.0.5.tar.gz

  3. 进入redis-5.0.5目录, cd redis-5.0.5/

  4. 执行make,进行编译

  5. 创建一个软连接,这样我们可以方便进行版本更替

ln -s ~/redis-5.0.5 ~/redis
  1. 环境变量配置
vim ~/.bashrc 

在.bashrc文件末尾添加

# redis
export PATH=$PATH:~/redis/src

保存后执行source指令使其生效

source ~/.bashrc
  1. 修改配置文件

进入redis/, 打开redis.conf文件

修改timeout从0修改到30 修改daemonize从no改为yes, 这样就可以守护线程启动

  1. 启动redis
redis-server /path/to/redis.conf

启动项目

进入~/spring-boot-jar

执行指令

//非守护线程
java -jar /path/to/my-iona-0.0.1-prod.jar


//守护线程启动, 把输出全部记录至spring-boot-log/my-iona-0.0.1-prod.log
nohup java -jar /path/to/my-iona-0.0.1-prod.jar >spring-boot-log/my-iona-0.0.1-prod.log &

关闭项目

  1. 执行ps -ef|grep java,获得PID

  2. 执行kill -15 PID ,注意不能用-9, 因为SpringBoot关闭时会进行一些清理操作

附录

我是如何从SSM升级到SpringBoot

  1. 使用SpringInitializr创建一个空的SpringBoot-Web项目模板

  2. 拷贝所有SSM项目业务代码全部复制到根包下,然后修复下IDE的报错内容

  3. 将SSM的所有xml配置,依次使用Java配置类去实现(全局事务的配置会难一点,不过已解决)

  4. 启动项目查看其他报错,并依次解决

  5. vue的东西全部放在static/文件夹下即可

近期任务

  1. 由于iview经常遇到问题, 而且我搭建的前端项目在ie11下无法正常使用, 问题很难追踪, 所以打算重新搭建, 使用element试一试 参考此项目

  2. 使用module