实际项目开发中本地连接数据的连接信息,用户名,密码,端口等等信息往往写死在配置文件中,但是部署在不同的环境中的时候,不管是用户名还是密码等等信息都是不同的,面对这样的情况直接修改原配置文件显然是不现实的,每次打包之前都要修改配置文件中数据库的连接地址,显得尤为繁琐,这时候我么可以采用一种外挂配置文件的方式,也是我日常开发中部署项目经常使用的一种方式
1)首先将我们的项目进行打包:
mvn clean package
默认会生成在target文件目录下
2)启动项目,看看是否打包成功
java -jar test.jar
3)上传到我们服务器存放项目的指定目录
现在我们的配置文件中是配置的测试环境的地址,那么如果现在需要在正式化境运行,显然是不行的,这时候我们呢不需要修改原项目种的配置文件,我们采用另外一种外挂配置文件的方式来启动项目,这种方式可以灵活的配置我们启动项目需要的一些参数
4)当前目录下新建一个我们自定义配置的配置文件【application.properties】
vim application.properties
server.port=8090server.port=8090
spring.datasource.name=数据库名
spring.datasource.url=jdbc:mysql://IP:3306/数据库名?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
5)然后编写我们的启动脚本
vim deploy.sh
nohup java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar test.jar
--spring.config.addition-location=/usr/local/java/application.properties
我们的启动脚本授权
chmod 777 deploy.sh
6)启动
./deploy.sh &
此时会生成一个 【nohup.out】的文件,里面记载了我们项目启动的详细信息
我们可以 tail -f nohup.out 看一下
启动成功,我们访问一下
此时若是访问不成功,防火墙需要开放端口
1)添加开发端口号(这里以mysql的默认端口为例)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090-j ACCEPT
2)重启防火墙使配置生效
systemctl restart iptables.service
再次访问,访问成功: