一、部署基础环境
二、修改application.properties配置文件
项目整体使用微服务架构,Eureka为注册中心(registry)。gateway路由转发,服务1、服务2的具体项目名。部署时,配置文件中的服务器地址均要进行修改。分别修改如下配置:
1、registry
server.port=9000
eureka.client.serviceUrl.defaultZone=http://web服务器ip:${server.port}/eureka/
2、gateway
spring.application.name=gateway
server.port=80 #配置后访问IP地址无需再加端口号
eureka.client.service-url.defaultZone=http://web服务器ip:9000/eureka
spring.datasource.url=jdbc:mysql://数据库服务器ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8
spring.datasource.password=密码
spring.datasource.username=root
cn.ac.包名.common.security.AUTHCHECK_SERVICE=配置需要控制权限的api
3、服务1
spring.application.name=项目1名
server.port=90xx1
eureka.client.service-url.defaultZone=http://web服务器ip:9000/eureka
spring.datasource.url=jdbc:mysql://数据库服务器ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8
spring.datasource.password=密码
spring.datasource.username=root
4、服务2
spring.application.name=项目2名
server.port=90xx2
eureka.client.service-url.defaultZone=http://web服务器ip:9000/eureka
spring.datasource.url=jdbc:mysql://数据库服务器ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8
spring.datasource.password=密码
spring.datasource.username=root
三、maven打包
1、cmd进入项目所在文件夹。
2、执行 mvn package -DskipTests
(mvn clean package -Dmaven.test.skip=true -Dcheckstyle.skip=true
)
出现BUILD SUCCESS即为成功。在当前项目下的target文件可以看到jar包及所需资源文件夹。
四、将打包好的文件上传至服务器
在服务器的data文件夹创建项目名命名的文件夹(可自行定义,此处例如aaa),使用XFTP将target文件夹上传分别至项目名所在文件夹。目录结构为:
aaa/下:
registry/target/……
gateway/target/……
服务1/target/……
服务2/target/……
如果上传报权限错误,还需修改一下文件夹权限,chmod -R 777 /data
。
上传成功后,进入aaa,使用ls命令查看已有文件夹。
五、运行jar包及服务
1、加载java服务
source /etc/profile
2、依次运行jar包
cd registry
nohup java -jar target/*.jar > nohup.out 2>&1 &
cd ../gateway
nohup java -jar target/*.jar > nohup.out 2>&1 &
cd ../服务1
nohup java -jar target/*.jar > nohup.out 2>&1 &
cd ../服务2
nohup java -jar target/*.jar > nohup.out 2>&1 &
其中,nohup 表示永久运行, & 表示后台运行," > nohup.out 2>&1" 表示 标准错误信息和标准输出信息,在终端上均不输出。
Notes
操作系统中有三个常用的流: 0:标准输入流 stdin 1:标准输出流 stdout 2:标准错误流
stderr " > nohup.out" 等价于 “1> nohup.out”,表示标准输出(1)输出到nohup.out
中,即终端不输出标准输出信息; “2>&1” 中的 “ & ” 是等价于的意思,表示 标准错误(2)输出的位置 等价于
标准输出(1)的位置,即等价于 “2> nohup.out”, 即终端不输出标准错误信息。 “>”
是重定向符,就是把前面的输出内容重定向到后面指定的位置(文件)
(参考链接:https://juejin.cn/post/7188106471480016953)
3、运行Nginx
sudo service nginx start
检查Nginx是否成功启动
sudo service nginx status
4、启动FastDFS
1)启动Tracker服务:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
确保路径/usr/bin/fdfs_trackerd和配置文件路径/etc/fdfs/tracker.conf与你的安装相符。
2) 启动Storage服务:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
3)检查FastDFS服务状态:可以通过查看FastDFS的日志文件来检查服务是否正常启动,通常位于/var/log/fdfs/目录下。
六、查看服务是否正常启动
查看所有jar包是否启动成功:
ps -ef | grep jar
如果所有jar都显示,即为成功。
访问Eureka注册中心(http://web服务器ip:9000/)可以看到服务已经启动成功。
此时,访问http://web服务器ip/服务1/index.html,如果可以正常访问页面,即部署完成。
七、关于后续维护(更新jar)
1、查看现在jar包运行的进程ID
ps -ef | grep jar
第二列为进程ID。
2、结束进程
kill -9 ID
3、替换jar包
重新上传jar包至目标文件目录。
4、运行jar包
执行本文第五步。