本文主要是在全新的Ubuntu系统上搭建jeecg-boot的启动环境,主要安装的软件有:
- jdk8及以上
- redis
- mysql5.7或mariadb10.3
- nginx
- ssh
- rxtx
安装完环境后,只需上传由JEECG编译生成的后端jar包和前端dist文件夹,即可启动项目。
一、配置镜像源
配置镜像源有两种方式,常用的是通过修改配置文件,还有一种是桌面版系统通过<软件和更新>里配置镜像源
1. 通过修改配置文件变更源
#备份配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
#修改配置文件
sudo vi /etc/apt/sources.list
#编辑文件,添加镜像源,请注意ubuntu的版本,https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
# 中科大镜像源
deb https://mirrors.ustc.edu.cn/ubuntu/ impish main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ impish main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ impish-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ impish-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ impish-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ impish-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ impish-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ impish-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ impish-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ impish-proposed main restricted universe multiverse
# 清华镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ impish-proposed main restricted universe multiverse
# 阿里镜像源
deb http://mirrors.aliyun.com/ubuntu/ impish main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ impish main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ impish-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ impish-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ impish-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ impish-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ impish-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ impish-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ impish-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ impish-backports main restricted universe multiverse
# 163镜像源
deb http://mirrors.163.com/ubuntu/ impish main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ impish main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ impish-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ impish-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ impish-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ impish-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ impish-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ impish-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ impish-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ impish-backports main restricted universe multiverse
注:系统代码更改为当前系统代码
#刷新列表并生效
sudo apt-get update
sudo apt-get upgrade
2. 通过命令行自动替换
这里有具体的介绍,https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 。可以根据版本自动修改,具体代码如下:
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
3. 通过桌面配置修改源
在Ubuntu20.04.3桌面版中,点击左下角“显示应用程序”,搜索“软件和更新”,点击进入。
在“软件与更新”界面中的“Ubuntu软件”一栏, 选择“下载自”下拉菜单中的“其他站点”。
然后点击“选择最佳服务器”,系统会自动测试下载的服务器,等待一段时间后,选择系统给出的镜像服务器,软件源修改完成。
关闭“软件和更新”界面,系统提示“可用软件的列表信息已过时”,点击“重新载入”即可。
以上为配置镜像源的两种方式
参考博文:Ubuntu 20.04 Desktop 换源的两种方法
二、安装JDK
安装jdk,可以在线安装和本地安装。有网络的情况推荐在线安装,通过执行命令即可,没有网络就只能通过tar包进行本地安装,这里只展示在线安装的方式,安装jdk版本为openjdk8。
#查找合适的jdk版本
sudo apt-cache search openjdk
输入这个命令会得到很多版本
openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-8-source - OpenJDK Development Kit (JDK) source files
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-11-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-11-source - OpenJDK Development Kit (JDK) source files
openjdk-13-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-13-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-13-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-13-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-13-source - OpenJDK Development Kit (JDK) source files
openjdk-16-jdk - OpenJDK Development Kit (JDK)
openjdk-16-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-16-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-16-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-16-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-16-source - OpenJDK Development Kit (JDK) source files
openjdk-17-doc - OpenJDK Development Kit (JDK) documentation
openjdk-17-jdk - OpenJDK Development Kit (JDK)
openjdk-17-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-17-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-17-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-17-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-17-source - OpenJDK Development Kit (JDK) source files
1. 安装jdk
sudo apt-get install openjdk-8-jdk
2. 添加环境变量
vim ~/.bashrc
#在最后一行增加
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3. 验证是否安装成功
java -version
#如果出现以下输出则安装成功
openjdk version “1.8.0_91”
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~15.10.1-b14)
OpenJDK Server VM (build 25.91-b14, mixed mode)
参考博文:
三、安装MYSQL
因为一些未知的原因,现在所有的镜像源上都没有找到MySQL的镜像,提示用MariaDB代替,所有这里安装mysql的教程分为安装MySQL和MariaDB两部分,选择其中一个安装就行。
1. mysql5.7安装
#查看有没有安装MySQL:
dpkg -l | grep mysql
#安装MySQL:
sudo apt install mysql-server
#检查是否安装成功:
netstat -tap | grep mysql
#通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。
2. MySQL安装完成后需要进行配置
如果不能直接登录,则将数据库配置免密登录,如果可以则跳过下面这步
# 停止mysql服务
sudo service mysql stop
# 修改MySQL的登录设置,暂时不校验登陆密码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将[mysqld]下的“skip-external-locking”注释掉
# 添加 “skip-grant-tables” 然后保存退出
# 重启mysql数据库
sudo service mysql start
3. 登录数据库
# 免密登陆mysql数据库
mysql -u root mysql
#进入mysql表空间
use mysql;
#修改root账号的密码
update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';
#创建新用户
create user 'jeecg'@'%' identified by '1qaz@WSX';
#给用户授权
grant all privileges on *.* to 'jeecg'@'%';
4. 修改配置文件
#修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#增加配置如下
#配置大写小写不敏感
lower_case_table_names = 1
# 如果配置免密登录,还需将[mysqld]下的“skip-external-locking”注释放开
#视情况修改绑定IP
bind 127.0.0.1 改成bind 0.0.0.0,所有IP均可访问
#修改完成后重启mysql
sudo service mysql restart
5. MariaDB10.3安装
#查看有没有安装数据库:
dpkg -l | grep mysql
#安装MariaDB
sudo apt install mariadb-server-10.3
#配置root账号和连接权限
sudo mysql_secure_installation
6. 查看数据库运行状态
sudo systemctl status mysql.service
7. 登录数据库并创建新用户
#登录
sudo mysql -u root -p
#进入mysql表空间
use mysql;
#创建用户
create user 'jeecg'@'%' identified by '1qaz@WSX';
#给用户授权
grant all privileges on *.* to 'jeecg'@'%';
8. 配置数据库配置文件
#修改配置文件
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
#增加配置如下
#配置大写小写不敏感
lower_case_table_names = 1
#视情况修改绑定IP
将bind-address改为 0.0.0.0
#修改完成后重启mysql
sudo service mysql restart
参考博客:
Ubuntu安装MariaDB-10.3数据库(等同于Mysql-5.7)
四、安装Redis
1. 安装redis
#安装redis
sudo apt-get install redis-server
2. 编辑配置文件
sudo vi /etc/redis/redis.conf
#添加配置-添加密码
requirepass 123456
#试情况是否需要外部访问,需要则注释掉该配置
bind 127.0.0.1 ::1
#修改端口
port 6379
3. 重新启动redis使配置生效
#常用第一个
sudo redis-server /etc/redis/redis.conf
sudo /etc/init.d/redis-server restart
sudo service redis-server restart
五、安装Nginx
1. 执行安装命令
sudo apt-get install nginx
2. 安装目录为
- 下载的软件的存放位置:/var/cache/apt/archives
- 安装后软件的默认位置:/usr/share
- 可执行文件位置:/usr/bin
- 配置文件位置:/etc/nginx
- lib文件位置:/usr/lib
3. 修改配置文件
sudo vi /etc/nginx/nginx.conf
将配置改成如下配置
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6].";
server {
listen 80;
server_name jeecg;
#后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问
location ^~ /jeecg-boot {
proxy_pass http://127.0.0.1:8080/jeecg-boot/;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
location / {
root html/dist;
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
}
}
4. 更改文件夹权限
因为配置中的根目录为 html/dist,全路径为/usr/share/nginx/html,再将编译好的dist文件夹放入,所以为了使文件能正常上传,必须修改html文件夹权限
sudo chmod 777 /usr/share/nginx/html
5. 重启nginx服务器
sudo service nginx restart
六、安装SSH
因为新装的系统可能没有ssh,所以导致不能远程登录和上传文件,必须安装ssh
1. 安装ssh
sudo apt install openssh-server
2. 查看服务是否启动
ps -e|grep ssh
如果还有其他需求比如root账号登录等可以增加配置,详细情况可以参考博文
参考博文:Ubuntu安装和配置ssh
七、安装RXTX
在调试串口时发现liunx系统没有rxtx组件,在网上查了很多资料都是需要在官网下载并放到指定目录,后来在某个博文中看到可以在线安装,亲测可以使用
sudo apt-get install librxtx-java
八、项目打包发布
使用的IDEA作为开发工具,所以这里只介绍IDEA打包和部署
1. 检查生产环境配置
检查yml配置文件application-prod.yml,重点检查项目有:
- 数据库配置
- Redis配置
2. 后端项目打包
3. 上传jar包
使用FTP工具将打包好的jar包上传到指定目录
生成的jar包在项目空间的jeecg-boot-module-systemtarget目录下
上传的路径为/usr/local/src/ap目录下
注意:如果/usr/local/src/ap没有或者权限不足则无法上传
#进入文件夹
cd /usr/local/src
#创建文件夹
sudo mkdir ap
#文件夹授权
sudo chmod 777 ap
4. 启动和停止后端项目
#进入文件夹
cd /usr/local/src/ap
#启动jar包
nohup java -jar jeecg-boot-module-system-xxx.jar &
#项目启动后会在当前文件夹创建一个nohup.out的文件,并将日志信息写入
#查看日志
tail -f nohup.out
#这样启动的项目一直在后台运行,如果需要将项目停掉就要杀掉进程
#查看项目进程
ps -ef|grep java
#记住PID号,杀掉进程
sudo kill -9 pid
5. 前端项目打包
6.上传dist文件夹
文件编译完成后会在项目的根目录生成一个dist的文件夹
将这个文件夹上传到nginx的html文件夹下,具体路径为/usr/share/nginx/html
如果上传失败很有可能是目录没有权限,需要更改权限
#添加权限
sudo chmod 777 /usr/share/nginx/html
前端项目无需启动,上传成功后可以直接访问,在浏览器输入服务器的IP即可访问
参考文档:Jeecg-Boot 技术文档
原创文章,作者:happytang,如若转载,请注明出处:https://www.wudianban.com/ubuntuhjdj.html