将SpringBoot项目部署到服务器
- 一、服务器环境准备
- 1.安装并配置JDK
- 2.安装并配置mysql
- 3.服务器开放端口
- 二、将Springboot项目打jar包部署到服务器
一、服务器环境准备
1.安装并配置JDK
使用FileZilla将jdk-8u161-linux-x64.tar.gz上传到服务器的mnt文件夹下
mkdir /opt/modules/
解压到新建的文件夹中
tar -xf /tmp/jdk-8u161-linux-x64.tar.gz -C /opt/modules/
配置环境变量
vi /etc/profile
添加以下环境变量配置:
JAVA_HOME=/opt/modules/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
执行一下修改的文件
source /etc/profile
输入
java
显示信息
输入
java -version
显示版本信息
2.安装并配置mysql
使用FileZilla将mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz上传到服务器的mnt文件夹下
移动到tmp目录下,在共享文件夹中解压可能会报错
cd /mnt/hgfs/share/
mv mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz /tmp/
进行解压
cd /mnt/
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
移动位置并重命名为mysql
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql
配置my.cnf
vi /etc/my.cnf
改为:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码
cat /data/mysql/mysql.err
记住这个随机生成的密码
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
ps -ef|grep mysql
登录mysql
./mysql -u root -p
输入刚才随机生成的密码,进入到mysql数据库
进行密码的重置,设置为root
SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
使root能再任何host访问
use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
将项目中的int.sql文件中的内容粘贴到这里进行执行建表。
注:每次运行项目时都要启动mysql
退出mysql命令行
exit;
3.服务器开放端口
在服务器的防火墙设置中添加规则,添加8080端口。
二、将Springboot项目打jar包部署到服务器
在IDEA中,
会在target文件夹下生成一个jar包。
使用FileZilla将此jar包上传到服务器的mnt文件夹下。
cd /mnt/
用nohup指令,可以不挂断运行命令。当ssh窗口关闭时,程序仍然运行。
nohup java -jar files-0.0.1-SNAPSHOT.jar >server.log 2>&1
运行日志在server.log里
注:
netstat -anp | grep 8080
可以查看8080端口的占用情况。
ps -ef | grep java
查看使用java命令的进程。
再输入:
kill pid 对应数字
可停止运行。
若使用
java -jar files-0.0.1-SNAPSHOT.jar
在SSH窗口关闭时,程序便停止运行。
此系统为文件上传下载系统,根据项目中的代码,可以使用此域名来访问系统:
服务器公网IP:8080/user
用户名:zhangsan
密码:123456