1 Star 0 Fork 85

houzhanwu/Novel-api

forked from novel/Novel-api 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BUILD.md 5.93 KB
一键复制 编辑 原始数据 按行查看 历史
novel 提交于 5年前 . 文档

介绍文档 | 部署文档 | 初始化文档

准备工作

JDK >= 1.8 (推荐1.8版本)
MySQL >= 5.7 (推荐5.7版本)
Maven >= 3.0
Redis >= 3.2 (推荐3.2版本)

其他(非必须)

阿里云对象存储OSS、腾讯云对象存储COS以及MinIo存储

运行系统

  • 将下载好的项目导入到idea中。
  • 在数据库中创建novel数据库并执行sql文件夹下的novel.sql脚本。
  • 运行admin模块下的NovelApplication.java
  • 直至控制台中打出启动系统,并且没有任何异常,则启动成功。

必要配置

  1. 项目的文件存储根目录,如果是windows系统,请根据自己的盘符进行相应的配置。
  2. 修改数据库信息。
  3. 修改redis信息。
  4. 修改资源存储配置信息resource

mysql:

编辑admin模块resources目录下的application-dev.yml

spring:
  datasource:
    druid:
      #数据库连接url
      url: 
      #数据库连接用户名
      username: 
      #数据库连接密码
      password: 

redis:

编辑admin模块resources目录下的application-dev.yml

spring:
  redis:
    #redis地址
    host: 
    #redis密码
    password: 
    #redis端口
    port: 

resource文件存储配置:

编辑admin模块resources目录下的application-dev.yml

resource:
  #是否开启文件服务器存储文件(默认关闭)
  enable: 
  #文件服务器类型(暂时支持oss和cos)
  file-type: 
  # 是否对文件服务器的文件进行本地缓存(默认关闭)
  cache-enable: 

部署系统

  1. 配置好上面的配置。
  2. 在项目根目录下运行mvn clean package -Dmaven.test.skip=true命令,等待编译完成。
  3. docker文件夹下的jar包放到服务器上运行即可。

通过docker容器部署

  1. 按照上述文档将程序编译完成。
  2. docker文件夹下builddocker.shDockerfile和编译好的jar文件夹拷贝到docker服务器上。
  3. 执行
$ sudo chmod 777 builddocker.sh

$ ./builddocker.sh

配置项加密说明

  1. 在配置文件中加入jasypt.encryptor.password配置信息。(这个密码是用来对配置进行加解密的秘钥,一定妥善保管
  2. 运行admin模块下的AdminApplicationTests.java中的测试方法,把root字符串替换为自己想要加密的属性配置项。
  3. 将得到的加密后的配置项配置到对应的配置上,且用ENC()包裹,例如:ENC(XW2daxuaTftQ+F2iYPQu0g==),括号中间的则是配置信息。
  4. 配置信息配置完后删除jasypt.encryptor.password配置项。
  5. 在启动的环境中加入jasypt.encryptor.password环境信息,例如在Dockerfile文件中启动程序时加入了"-Djasypt.Encryptor.Password=VLu3H58dxYAsv3TIGOueaXIXBbhbT2"信息,这里的密码和加密时使用的一致。

文件服务器配置说明

如果不使用文件服务器,则把resource.enable配置为false或者不配置,其他项均不用配置,默认存储在程序所在的服务器上。

使用阿里云OSS对象存储:

  1. pom.xml中加入
<dependency>
    <groupId>com.novel</groupId>
    <artifactId>oss-spring-boot-starter</artifactId>
</dependency>

<dependency>
    <groupId>com.novel</groupId>
    <artifactId>resource-spring-boot-starter</artifactId>
</dependency>
  1. 配置OSS信息:
resource:
  #是否开启文件服务器存储文件(默认关闭)
  enable: true
  #文件服务器类型(暂时支持oss和cos)
  file-type: oss
oss:
  #容器访问id
  oss-access-key-id: 
  #容器访问秘钥
  oss-access-key-secret: 
  #oss容器地址
  oss-endpoint: 
  #容器的名称(如果不存在,则会在程序启动时自动创建,中途如果用户删除了,则不会创建,需要重新启动程序或者手动创建)
  bucket-name: 

使用腾讯云COS对象存储:

  1. pom.xml中加入
<dependency>
    <groupId>com.novel</groupId>
    <artifactId>cos-spring-boot-starter</artifactId>
</dependency>

<dependency>
    <groupId>com.novel</groupId>
    <artifactId>resource-spring-boot-starter</artifactId>
</dependency>
  1. 配置OSS信息:
resource:
  #是否开启文件服务器存储文件(默认关闭)
  enable: true
  #文件服务器类型(暂时支持oss和cos)
  file-type: cos
cos:
  #数据桶的名称(如果不存在,则会在程序启动时自动创建,中途如果用户删除了,则不会创建,需要重新启动程序或者手动创建)
  bucket-name: 
  #区域
  region: 
  #访问容器的id
  secret-id: 
  #访问容器的密钥
  secret-key: 

使用MinIo存储

  1. pom.xml中加入
<dependency>
    <groupId>com.novel</groupId>
    <artifactId>minio-spring-boot-starter</artifactId>
</dependency>

<dependency>
    <groupId>com.novel</groupId>
    <artifactId>resource-spring-boot-starter</artifactId>
</dependency>
  1. 配置MinIo信息:
resource:
  #是否开启文件服务器存储文件(默认关闭)
  enable: true
  #文件服务器类型(暂时支持oss和cos)
  file-type: minio
minio:
  # 连接url地址
  url: http://10.168.1.97
  # 服务端口
  port: 9000
  # 访问使用的key
  access-key: minioadmin
  # 访问使用的秘钥
  secret-key: minioadmin
  # 存储文件的桶(如果不存在,则会在程序启动时自动创建,中途如果用户删除了,则不会创建,需要重新启动程序或者手动创建)
  bucket-name: novel

官方文档: MinIo

通过jenkins部署

暂略

常见问题

  1. 如果使用Mac需要修改application-dev.yml文件路径profile
  2. 如果使用Linux提示表不存在,设置大小写敏感配置在/etc/my.cnf添加lower_case_table_names=1,重启MYSQL服务。
  3. 如果提示当前权限不足,无法写入文件请检查profile配置目录是否可读可写,或者无法访问此目录。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/houzhanwu/Novel-api.git
git@gitee.com:houzhanwu/Novel-api.git
houzhanwu
Novel-api
Novel-api
master

搜索帮助