参考文章:
SpringBoot项目部署到阿里云服务器全流程(简直详细到啰嗦):超级详细,每一步都有图。
附资源安装:jdk-8u221-linux-x64.tar.gz / jdk-8u141-linux-x64.tar.gz:百度网盘jdk下载
阿里云配置Mysql数据库远程链接:远程访问数据库
如何在阿里云服务器上安装Redis:配置很详细,配置的行数都标了
Redis Desktop Manager的下载及安装:百度网盘Redis Desktop Manager下载
记一次telnet自定义端口不通(阿里云平台):iptables
项目技术栈:springboot+shiro-redis
数据库:mysql+Navicat
远程连接工具:Finalshell下载地址
超级实用的命令
-
查看端口使用情况
netstat -anp | grep 8800 #netstat -anp | grep <端口号>
-
查看占用端口的PID
sudo lsof -i:8800 #sudo lsof -i:<端口号>
-
杀死占用端口的PID
sudo kill -9 26191 #sudo kill -9 <PID>
-
停止redis
/etc/init.d/redis-server stop
安装jdk
-
本地环境下载 jdk-8u221-linux-x64.tar.gz
-
上传服务器
在/usr下新建文件夹java,Finnalshell上直接拖文件到文件夹内。
-
解压
cd /usr/java
tar -zxvf jdk-8u221-linux-x64.tar.gz
-
设置环境变量
cd /etc
在profile文件内添加
export JAVA_HOME=/usr/java/jdk1.8.0_221 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH
立即执行
source /etc/profile
-
验证,显示java版本安装就成功了
java -version
安装mysql
之前安装过了,7.安装MySql8.0数据库
-
Navicat导出数据库结构和数据,导入mysql。
create database abc;#创建数据库 use abc;#选择数据库 set names utf8;#设置数据库编码 source /home/abc/abc.sql;#导入数据(注意sql文件的路径)
-
配置远程访问,阿里云安全组设置3306端口入方向。
use mysql; update user set host='%' where user='root' and host='localhost';#host设置为 % 表示任何IP进行访问该数据库 flush privileges;#刷新权限表,让改动生效
打包项目
-
配置application.yaml
设置后端的端口,阿里云服务器需要将设置的端口加入安全组。
server: port: 端口
修改数据库连接地址为服务器的地址。
项目中使用了
shiro-redis-spring-boot-starter
,需要配置shiro-redis。阿里云安全组设置6379的出方向和入方向。shiro-redis: enabled: true redis-manager: host: 服务器地址:6379 password: 密码
-
在项目pom.xml文件中添加
</build> <!-- 打包成jar包 --> <packaging>jar</packaging> </project>
-
打包
点击右侧的Maven,在项目的Lifecycle有个package,双击进行打包。
打包完成后,会在target下生成jar包。
运行jar包
复制jar到桌面,打开Finalshell,上传到根目录。
根目录下运行jar包
java -jar ***.jar //***为你的jar包名
配置不间断运行
在Finalshell关闭以后,项目就停止了。可以配置让项目不间断运行。
创建并编写文件 start.sh,向其中添加字段 : java -jar ***.jar 。按ESC + :wq + 回车键保存退出。
给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)
chmod 777 start.sh #赋予管理员权限
nohup ./start.sh & #不间断运行文件内的指令
安装Redis
-
在/usr下新建文件夹redis
-
下载redis
cd /usr/local/redis wget http://download.redis.io/releases/redis-3.2.10.tar.gz
-
解压
tar -xzvf redis-3.2.10.tar.gz
-
安装
cd ./redis-3.2.10 make
-
配置,看参考文档如何在阿里云服务器上安装Redis
vim ./redis.conf
①注释172.0.0.1或者修改成0.0.0.1
②将daemonize no 改成 daemonize yes,一直在后台运行
③设置密码,将“#requirepass foobared” 取掉注释改成 requirepass 密码
按ESC + :wq + 回车键保存退出。
-
启动
cd /usr/redis/redis-3.2.10/src ./redis-server ../redis.conf
-
查看是否启动,注意看./redis-server的地址是不是172.0.0.1,配置完应该不是172.0.0.1。
ps aux | grep redis
-
阿里云配置安全组,6379端口的入方向和出方向。
-
使用Redis Desktop Manager测试远程连接
遇到的问题
- 前端请求时报错:java.net.ConnectException: Connection refused
可能是没有安装redis - 远程连接redis报错:Can't connect to redis-server。
在检查了配置和安全组规则发现仍然无法连接。
在服务器telnet 127.0.0.1 6379发现能够通,本地进行telnet 服务器地址 6379时不通。按照记一次telnet自定义端口不通(阿里云平台)尝试,清空防火墙iptables 列表后,通了。远程连接redis成功了。 - 前端请求时报错:NOAUTH Authentication required.
可能是配置redis错了,我使用的是shiro-redis-spring-boot-starter
,在项目yaml配置时配shiro-redis。