精选

API开放平台 —— 项目部署(真的很全面!!!)

一、前言

历经7天,API开放平台终于完结啦。

上线地址:http://www.luo-yan.cn/

GitHub地址:https://github.com/Epiphany6666/Yan-API

登录账号:luoyan、密码:12345678

首先非常感谢每个总结了笔记的鱼友,被鱼皮推荐的笔记我几乎都有参考,每篇笔记有所长~

有位大佬已经总结过很完整的笔记,这里就不再贴出笔记,这篇先讲述如何采用宝塔部署,后期会分享如何扩展。

如果对你有帮助,可以给我的GitHub仓库star一下,感谢您的支持,话不多说,我们马上开始!


二、注意事项

如果有发生不能访问的情况,首先检查自己的防火墙是否放开响应端口!!!

服务器建议购买2核8G,如下图是我的内存使用情况,项目还没有整合redis、MQ等中间件

image-20240827223632712

三、Nacos安装(踩坑)

1)安装

官网:https://github.com/alibaba/nacos/releases/tag/2.1.1

下载Linux版本的版本

image-20240827222436606

上传到服务器

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

image-20240827221315613

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

image-20240827221501830
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: {}, });

七、宝塔安装

服务器重装系统选择宝塔面板

image-20240827223753574

重装好后根据提示获取账号密码,并访问该地址 http://43.136.85.110:面板端口/tencentcloud

image-20240827223853872

输入初始账号密码进行登录

image-20240827224034748

然后点击面板设置,去改下安全入口、用户名、密码

image-20240820101250250

接下来安装我们部署所需要用到的软件:Nginx、JDK

image-20240827224428076 image-20240827224537335

八、前端部署

根据如下步骤添加站点

image-20240827224229265

添加完成后,点击默认的根目录

image-20240827224253353

然后把它默认的文件删掉

image-20240818035443320

你会发现有个PHP项目删不掉,不用管它,那是它自己强制的一个设置

image-20240818035457163

然后直接把前端打包好的,dist文件夹内的文件拖进去,简单粗暴

image-20240827225003438

此时访问你的服务器IP,前端部署成功!!!

image-20240827225102895

九、自定更高Nginx配置

如果想改nginx的设置,点击这里

image-20240827225234350

有个配置文件,你在这里想怎么改就怎么改

image-20240818035611599

十、后端部署

在wwwroot目录下新建一个 Yan-API 文件夹

image-20240827225334524

将三个项目打包后的jar上传到该文件夹中

image-20240827225412860

点击添加 Java项目

image-20240827225537758

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
image-20240827225644248

然后部署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
image-20240827225732832

最后部署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
image-20240827225803398

并且宝塔还能查看到每个服务对应的日志,真的非常方便!!!

image-20240827230207605
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP