# 安装部署

# 数据管理服务

基于FastBoot构建的数据管理服务,以RESTful接口提供服务;

# 部署

使用源代码构建jar包后,可以像其它JAVA项目一样部署。

同时我们也准备了OpenJDK 版本的镜像 bincent/openjdk (opens new window)

# docker-compose文件

version: '3'

services:
  java:
    image: openjdk:8u282-slim-buster
    container_name: java
    restart: always
    volumes:
      - ${JAR_APP}:/app.jar
    environment:
      TZ: Asia/Shanghai
    ports:
      - 8080:8080/tcp
    command: java -Djava.security.egd=file:/dev/./urandom -jar /app.jar --spring.profiles.active=prod --appendonly yes
    network_mode: bridge

# 数据管理控制台

# 环境要求

git,用于管理版本,部署和升级必要工具。

MariaDB 10.2 +,数据库引擎,理论上 MySQL 5.6+ 兼容支持。

Nginx,提供Web服务

PHP 7.3 + ,已经支持 PHP 8 。

  • ext-zip 扩展,注意和 PHP 版本相同。
  • ext-json 扩展,注意和 PHP 版本相同。
  • ext-fileinfo 扩展,注意和 PHP 版本相同。
  • ext-ldap 扩展,注意和 PHP 版本相同。
  • ext-bcmath 扩展,注意和 PHP 版本相同。

# 环境搭建

# 已有/自建环境

已有/自建Nginx、PHP环境本文将不再赘述, 可自己百度搭建配置 laravel环境或使用一键部署环境(如宝塔等),

# Docker 环境(推荐)

我们推荐使用Docker方式安装,并且已制作了 bincent/php (opens new window) Docker镜像(提供多种PHP版本);

以及 Nginx + PHP (opens new window) docker-compose部署环境

如果您需要同时支持多种PHP版本,可使用Nginx + 多版本PHP (opens new window)

开始准备

WARNING

假设宿主机已经安装Git、Docker,未安装需自行百度安装方法;

在你想要的目录中,下载项目文件

git clone https://gitee.com/fitphp/dataman.git

下载docker-compose脚本

git clone https://gitee.com/fitphp/dataman-docker.git
cd dataman-docker

修改docker-compose中刚刚下载的项目路径,并检查后,启动docker

docker-compose -f docker-compose.yml up -d

创建数据库 创建一个数据库,命名任意,但记得之后填写配置时需要对应正确,并且数据库字符集为 utf8mb4_unicode_ci

至此,我们的做好了安装前准备工作。

# 安装部署

生产环境下为遵守安全策略,非常建议在服务器本地进行部署,暂时不提供相关线上初始化安装的功能。因此,虽然前期部署的步骤较多,但已经为大家自动化处理了很大部分的流程,只需要跟着下面的命令一步步执行,一般是不会有部署问题的。

::: Tip 本文假设宿主机没有安装php、compose,如果您已有安装则无需切换到容器中,宿主机上操作即可。 :::

# 宿主机

1:在项目根目录中,复制 .env.example 文件为一份新的,并重命名为 .env

2:在 .env 中配置数据库信息,缓存等信息(如果有使用到的话,比如Redis)

3:在public目录中创建 storage 软链指向 storage/app/public

cd dataman
// 需要写权限
chmod -R 755 storage 
chmod -R 755 bootstrap/cache
// 创建软链
cd ./public
ln -s ../storage/app/public storage

# PHP容器

进入PHP容器,可以使用 docker ps 查看容器ID

//进入PHP容器
docker exec -it 容器ID /bin/sh

1:进入项目根目录,默认在 /var/www/html 目录中

// 安装PHP扩展包
composer install

2:进入项目根目录,执行如下命令进行安装。

php artisan dataman:install

PS:配置APP密钥,虽然install命令已经执行过,如果当你发现.envAPP_KEY为空,则需要手动生成,

php artisan key:generate

3:此时可以通过访问 http://127.0.0.1 来使用。管理员账号密码为:admin / admin

# 版本更新

通过Git Pull方式随时随地保持更新,在宿主机项目根目录中执行以下命令

git pull --force

一般不需要,如有数据表结构变更,需要在PHP容器项目根目录中执行以下命令

php artisan dataman:update

# 控制台命令

# 创建管理员

php artisan admin:create-user

这个命令用来创建一个admin用户,用交互式的方式填写用户名和密码、并且选择角色之后,会创建一个可登录的用户

# 重置管理员密码

php artisan admin:reset-password

这个命令用来给指定用户重置密码,根据命令的提示来操作

# 常见问题

宿主机未安装php环境时,php artisan 命令都是需要在php容器中执行

最后更新: 2/17/2021, 6:41:38 PM