
API开放平台 —— 项目部署(真的很全面!!!)
一、前言
历经7天,API开放平台终于完结啦。
GitHub地址:https://github.com/Epiphany6666/Yan-API
登录账号:luoyan、密码:12345678
首先非常感谢每个总结了笔记的鱼友,被鱼皮推荐的笔记我几乎都有参考,每篇笔记有所长~
有位大佬已经总结过很完整的笔记,这里就不再贴出笔记,这篇先讲述如何采用宝塔部署,后期会分享如何扩展。
如果对你有帮助,可以给我的GitHub仓库star一下,感谢您的支持,话不多说,我们马上开始!
二、注意事项
如果有发生不能访问的情况,首先检查自己的防火墙是否放开响应端口!!!
服务器建议购买2核8G,如下图是我的内存使用情况,项目还没有整合redis、MQ等中间件
三、Nacos安装(踩坑)
1)安装
官网:https://github.com/alibaba/nacos/releases/tag/2.1.1
下载Linux版本的版本
上传到服务器
▼bash复制代码# 在root目录下新建services目录 mkdir services # 进入services目录 cd services/
然后将刚刚下载好的压缩包上传到services目录,然后解压
▼shell复制代码tar -xzvf nacos-server-2.1.1.tar.gz
进入解压后的文件夹,进入bin目录,启动nacos
▼shell复制代码cd nacos/bin # 单点启动Nacos sh startup.sh -m standalone
2)踩坑
在2.0.0版本之前,Nacos只需要开放8848端口就可以,但是2.0.0版本以上, 则需要同时开放三个端口号,分别为 8848 / 9848 / 9849
原因如下:
Nacos 2.0.0 版本及以上引入了 gRPC 协议以支持更高效的服务通信, 有两个额外的端口被用于 gRPC 相关通信
9848 端口: 这个端口是 Nacos 客户端(如微服务)与 Nacos 服务端之间进行 gRPC 请求和连接时使用的端口, 客户端通过此端口向服务端发起连接请求、订阅服务列表变更、获取配置更新等操作
9849 端口: 用于服务端之间的gRPC通信,比如集群内节点间的数据同步和心跳检测等
如果未开放这些端口,可能会导致客户端无法连接到 Nacos 服务器或者集群内部通信异常等问题
四、前端多环境配置
requestConfig.ts
▼tsx复制代码export const requestConfig: RequestConfig = { baseURL: process.env.NODE_ENV === 'production' ? 'http://www.luo-yan.cn:8101' : 'http://localhost:8101', }
五、后端多环境配置
yanapi-backend
application-prod.yml
PS:一定要配置cookie的作用域!!!
▼yml复制代码# 线上配置文件 server: port: 8101 servlet: session: cookie: max-age: 2592000 domain: www.luo-yan.cn # 配置cookie的作用域,填的是你的服务器IP spring: # 数据库配置 # todo 需替换配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://你的MySQL服务器IP:3306/yan_api username: 账号 password: 密码 # Redis 配置 # todo 需替换配置 redis: database: 1 host: localhost port: 6379 timeout: 5000 password: 123456 mybatis-plus: configuration: # 生产环境关闭日志 log-impl: '' # 接口文档配置 knife4j: basic: enable: true username: root password: 123456 # 以下配置指定了应用的名称、使用的协议(Dubbo)、注册中心的类型(Nacos)和地址 dubbo: application: # 设置应用的名称 name: dubbo-springboot-demo-provider # 指定使用 Dubbo 协议,且端口设置为 -1,表示随机分配可用端口 protocol: name: dubbo port: -1 registry: # 配置注册中心为 Nacos,使用的地址是 nacos://localhost:8848 id: nacos-registry address: nacos://www.luo-yan.cn:8848
yanapi-gateway
▼yml复制代码server: port: 8090 spring: cloud: gateway: routes: - id: api_route uri: http://www.luo-yan.cn:8123 predicates: - Path=/api/** # 以下配置指定了应用的名称、使用的协议(Dubbo)、注册中心的类型(Nacos)和地址 dubbo: application: # 设置应用的名称 name: dubbo-springboot-demo-provider # 指定使用 Dubbo 协议,且端口设置为 -1,表示随机分配可用端口 protocol: name: dubbo port: -1 registry: # 配置注册中心为 Nacos,使用的地址是 nacos://localhost:8848 id: nacos-registry address: nacos://www.luo-yan.cn:8848
六、前端配置静态打包
PS:如果不配置,可能访问某页面时会出现404
yanapi-fronted/config/config.ts
▼ts复制代码export default defineConfig({ exportStatic: {}, });
七、宝塔安装
服务器重装系统选择宝塔面板
重装好后根据提示获取账号密码,并访问该地址 http://43.136.85.110:面板端口/tencentcloud
输入初始账号密码进行登录
然后点击面板设置,去改下安全入口、用户名、密码
接下来安装我们部署所需要用到的软件:Nginx、JDK
八、前端部署
根据如下步骤添加站点
添加完成后,点击默认的根目录
然后把它默认的文件删掉
你会发现有个PHP项目删不掉,不用管它,那是它自己强制的一个设置
然后直接把前端打包好的,dist文件夹内的文件拖进去,简单粗暴
此时访问你的服务器IP,前端部署成功!!!
九、自定更高Nginx配置
如果想改nginx的设置,点击这里
有个配置文件,你在这里想怎么改就怎么改
十、后端部署
在wwwroot目录下新建一个 Yan-API 文件夹
将三个项目打包后的jar上传到该文件夹中
点击添加 Java项目
PS:一定要按顺序启动项目
首先部署yanapi-backend,配置如下图
▼shell复制代码/www/server/java/jdk-17.0.8/bin/java -jar -Xmx1024M -Xms256M /www/wwwroot/Yan-API/yanapi-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
然后部署yanapi-interface项目
▼shell复制代码/www/server/java/jdk-17.0.8/bin/java -jar -Xmx1024M -Xms256M /www/wwwroot/Yan-API/yanapi-interface-0.0.1-SNAPSHOT.jar
最后部署yanapi-gateway项目
▼shell复制代码/www/server/java/jdk-17.0.8/bin/java -jar -Xmx1024M -Xms256M /www/wwwroot/Yan-API/yanapi-gateway-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
并且宝塔还能查看到每个服务对应的日志,真的非常方便!!!

