如何将SpringBoot项目部署到外网?
Admin 2023-05-31 群英技术资讯 478 次浏览
因为正在开发一个个人的微信小程序项目,所以开始学习如何部署SpringBoot服务器,之前完全没有接触过部署服务器相关,只能从0开始摸索,网上各种文章杂乱得很,而且大多都语焉不详,完全跟不上作者的脑回路,所以摸索得非常痛苦!
所幸最后成功了,记录一下完整的步骤,造福后来的跟我一样的小白们。
部署步骤
- 云服务器的购买和配置
- 安装JDK
- 安装Tomcat
- 安装svn
- 安装Maven
- 打包SpringBoot项目
- 设置安全组
- 安装MySQL
- 服务器的代码更新
我选择的是阿里云服务器(产品选择为弹性计算 > 云服务器ECS),新注册用户有1个月的免费试用最低套餐的优惠,足够用来做部署实验。
由于我们是从 0 配置,选择 CentOS 7.4 64位纯净系统就可以了,不需要安装其他镜像。
连接到实例之后,先关闭防火墙和它的自启动服务
systemctl stop firewalld.service
systemctl disable firewalld.service
我在网上没找到镜像,只能到 oracle 官网下载,需要注意的是这个 url 应该是每个人不一样的,所以最好你自己去获取这个 url ,然后替换到下面的命令里
wget -O jdk-8u171-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1528361342_930e23cd80acb666184698646f076dc6
解压
mkdir /usr/java
tar xzf jdk-8u171-linux-x64.tar.gz -C /usr/java
配置环境变量
vi /etc/profile
进入vi后,按 i 可以进行输入,编辑完以后按 Esc ,然后输入 :wq 即可保存并退出
在文件结尾插入以下代码:
#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
保存退出后,运行以下命令以使更改生效
source /etc/profile
此时可以运行java -version
来确认是否配置成功
下载 Tomcat
wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz
解压
tar xzf apache-tomcat-8.5.31.tar.gz
mv apache-tomcat-8.5.31 /usr/local/tomcat/
编辑配置文件
cd /usr/local/tomcat/conf/
vi server.xml
将文件相应 2 处位置的内容按照下面修改
注意这个文件默认情况下有非常多的注释,vi如果没有高亮很容易改到注释里,我就改错过orz
- Connector port="80" 处原本为 Connector port="8080"
- 其中 Host name="xx.xx.xx.xx" 处替换成你的云服务器的外网ip或域名
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0" />
<Host name="xx.xx.xx.xx" appBase="/home/project/webapps"
unpackWARs="true" autoDeploy="true">
创建项目及部署目录
mkdir /home/project
mkdir /home/project/webapps
设置 JVM 内存参数
vi /usr/local/tomcat/bin/setenv.sh
JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8’
设置 Tomcat 自启动脚本
wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init
mv Tomcat-init /etc/init.d/tomcat
chmod +x /etc/init.d/tomcat
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_171@' /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on
service tomcat start
依次运行完以上命令以后,应该就可以看到 Tomcat 启动的信息了
以上设置我是在 阿里云帮助文档 学到的,但是有不同,感兴趣的同学可以点开原文查看详情
下载 svn 并安装
yum -y install subversion
可以检查 svn 是否安装成功
svnserve --version
移动到之前创建的项目目录下
cd /home/project
此时我用 svn 拉取代码时产生了 error ,百度告诉我要再安装一个认证服务
sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap
现在可以拉取代码了
***处替换为你的代码库地址
svn checkout svn://***
下载、安装、解压
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
mkdir /usr/local/maven
tar -zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/maven/
同 JDK,配置环境变量
vim /etc/profile
export M2_HOME=/usr/local/maven/apache-maven-3.5.3
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH
使新的环境变量生效
source /etc/profile
进入项目目录
- ***处替换为你用svn拉取下来的项目目录
- 我的SpringBoot项目是用 idea + Maven 构建的,并且注意 pom.xml 文件中的设置为 war
- 关于如何构建SpringBoot项目,可以参考 慕课网课程-SpringBoot+MyBatis搭建迷你小程序
cd /home/project/***
使用 Maven 打包可执行文件
mvn clean package
将可执行 war 移动到部署文件夹中并命名为 ROOT.war
这是为了使访问项目时可以直接使用 域名 或者 ip:端口 ,如果不用 ROOT 作为名字,就必须用 域名/项目名 或者 ip:端口/项目名 来访问
cd target
mv nrserver-0.0.1-SNAPSHOT.war /home/project/webapps/ROOT.war
重启 Tomcat
service tomcat restart
虽然已经部署好服务器,但是目前还并不能访问,这是因为阿里云为了服务器的安全,默认禁止了几乎所有TCP端口访问,我们需要在 控制台 > 云服务器ECS > 安全组 > 网络和安全 中放行需要的几个端口,包括:TCP:80/80(HTTP)、TCP:3306/3306(MySQL)、TCP:3690/3690(svn)
此时在浏览器中访问云服务器的公网ip,如一切顺利且你的SpringBoot中添加了index.html,就可以看到网页打开成功了!
下载、安装
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
启动MySQL服务
systemctl enable mysqld
systemctl start mysqld
配置MySQL,考验你的英语能力的时候到了,这里除了设置root用户名和密码以外,还有一个很重要的设置就是问你是否要禁止远程访问,如果你要远程连接这个数据库的话,一定要选 否 !
mysql_secure_installation
如果你要远程连接数据库的话,那就要依次运行以下命令
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
第三句运行后会显示 error ,不用管它,此时已经可以远程访问了
待续
以上就是关于“如何将SpringBoot项目部署到外网?”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008