阿里云服务器上SpringBoot单体项目的部署
1、注意阿里云需要安全组端口设置,不然无法访问。不仅linux虚拟机里需要开放指定端口,阿里云ecs安全组也需要添加开放对应的端口;
2、linux虚拟机中安装docker,参照阿里云服务器页面有提示,按照流程安装就可以,期间建议配置阿里云镜像仓库(镜像加速),后期借助docker下载其他软件安装包会快很多
3、此处注意配置环境变量时是按照自己的路径来,具体情况具体对待;因为我这里即将要运行的jar包是springboot项目,其内置了Tomcat,所以我这里不再安装Tomcat。
-
JDK >= 1.8 (推荐1.8版本)
从oracle官方网站上下载1.8版本中的最新版的JDK。下载完成后,把文件通过WinSCP或者XFTP上传到服务器上。接着进行解压和配置环境变量。
#进入安装包目录,解压
cd /data/tmp
tar -zxvf jdk-8u261-linux-x64.tar.gz
#把解压出来的文件夹转移到统一的地方
mv /data/tmp/jdk1.8.0_261 /data/service/jdk1.8.0_261
#修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径。
vim /etc/profile
export JAVA_HOME=/data/service/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
java -version -
Maven >= 3.0
从Maven官方网站上下载最新版的压缩包。下载完成后,进行解压和配置环境变量。
#进入安装包目录,解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
#修改环境变量/etc/profile,MAVEN_HOME修改为自己的jdk路径。
export MAVEN_HOME=/data/service/maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
mvn -v
4、docker安装MySQL
docker run -d --name=mysql --env=MYSQL_ROOT_PASSWORD=123456 --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --volume=/etc/mysql:/etc/mysql --volume=/var/lib/mysql:/var/lib/mysql --volume=/var/lib/mysql-files:/var/lib/mysql-files --restart=always -p 3306:3306 mysql:8.0.26
注意:my.cnf配置中要加全局配置——default_authentication_plugin=mysql_native_password,用老的密码加密方式,不然navcat、sequel Pro客户端无法连接
my.cnf:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
default_authentication_plugin=mysql_native_password
# Custom config should go here
!includedir /etc/mysql/conf.d/
skip-name-resolve
5、docker安装redis
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /etc/redis/redis.conf:/etc/redis/redis.conf -v /etc/redis/data:/data -d redis:6.2.6 redis-server /etc/redis/redis.conf
6、
后台服务方式指定端口启动,outlog.log为日志
nohup java -jar springboot.jar --server.port=8081 >outlog.log 2>&1 &
注意此处单体项目pom.xml文件中要引入插件:
<build>
<finalName>[这里写你希望打包的包名]</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这是项目构建配置,可打直接可运行的jar包或war包,否则日志文件中可能会出现xxx.jar中没有主清单属性,导致项目运行失败。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南