这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战
前言
最近简单学习了一些环境部署的知识,所以沉淀了这篇文章,结合了实践操作和经验总结,可以给一些部署小白参考,这份教程是比较偏基础,很多操作都是贴近原理,所以学会后,不管是什么类型的环境部署都可以快速上手,知道原理就是这么无敌。
准备
1、springboot+maven+mysql项目
2、准备一台服务器
3、jdk1.8、maven、nginx、mysql
实践
1、首先给到一台服务器,可以自己装一台虚拟机或者买个服务器也很方便。
2、安装jdk1.8、maven、nginx、mysql,配置环境变量,验证是否配置成功。这里就不多说了,因为网上教程也很多。
3、获取服务器的git公钥添加到github设置里面,这里假定代码是放在github上面维护的。
ssh-keygen -t rsa -C "xxxxx"
在主目录下会生成一个.ssh文件,打开文件会看到密钥文件,复制内容,添加到github的公钥那里即可。
4、拉取代码到服务器上
进入到某个目录下,这里都是存放你的项目。
git clone git@xxxxx.git
git pull,拉取最新代码。
这里需要了解一下git知识。
5、编写java打包和启动服务的shell脚本
这里用到两个脚本
compile.sh
#打包、编译
cd /home/app/code/testDemo/
git pull
mvn clean package -Dmaven.test.skip=true -DskipTests=true
cp /home/app/code/testDemo/testDemo-service-center/target/testDemo-center-dev.jar /home/app/package/testDemo-center.jar
#sh remote_restart_issue.sh
remote_restart_issue.sh
#启动服务
cd /home/app/package
if [ ! -n "$(pgrep -f testDemo-center)" ];then
echo "process is not exist!"
else
echo $(pgrep -f testDemo-center)
pkill -f testDemo-center
fi
OLD_BUILD_ID=$BUILD_ID
BUILD_ID=dontKillMe
nohup /usr/bin/java -jar testDemo-center.jar &
BUILD_ID=$OLD_BUILD_ID
echo $(pgrep -f testDemo-center)
6、修改一些配置信息
日志的地址、数据库ip和端口、引用的外部jar包位置,和代码中保持一致。
7、执行shell脚本,启动服务
sh compile.sh
sh remote_restart_issue.sh
8、nginx配置反向代理
location /test {
proxy_pass http://localhost:9900/test;
}
重启nginx
9、开始调用服务
结束