# PAAS系统安装手册
**Repository Path**: ancient-bright-moon/yry_install
## Basic Information
- **Project Name**: PAAS系统安装手册
- **Description**: PAAS系统安装手册
- **Primary Language**: HTML
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-12-19
- **Last Updated**: 2025-08-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 开发平台系统Docker环境安装指南
## >服务器硬件配置和系统要求
**最低运行硬件要求(仅用于测试环境):**
* CPU : 4 核 及以上
* 内存:8G 及以上
* 硬盘:80G 及以上
* 网络带宽:最低 2M
*建议采购云厂商的云服务器,如:阿里云、腾讯云、华为云等
本系统支持 linux ( 华为欧拉 openEuler 22 64位 | Ubuntu 64 位 | Debian 12 64 位 )\ mac \ windows 环境运行,在 windows - docker 下,强烈建议在 linux \mac OS 下部署安装,本教程是在 CentOS-7-x86_64-Minimal-1804 - 系统下安装部署的其他linux系统部署方法类似。
提示:centos7 官方最后停止维护日期为 2024-6-30 号,centos8 官方已经停止维护了,除非内网私有化部署,否则请不要再使用Centos。
**CentOS 的替代操作系统有**:
* 华为欧拉 openEuler 22 64位 (***强烈第一推荐***)
* Ubuntu Server 20.04 LTS +
* Debian 11、12 (stable版本 64位)
以上几个系统根据操作人员对系统的熟悉程度选择操作系统,其他情况需要安装请咨询友融云官方技术支持。
**生产环境-最低配置(适合 10-50 人的公司使用)**
|**角色**|**CPU**|**内存**|**硬盘**|**带宽**|**部署说明**|
|:----|:----|:----|:----|:----|:----|
|WEB服务+数据库+备份|8核|32G|SSD 1T|100M|安装所有运行环境,要注意定时检查服务器运行健康状况,如果发现资源占用超过60%,酌情增加服务器独立部署数据库服务。
如果有大数据风险监测模块:内存建议32G以上|
**生产环境-推荐典型配置(适合 50-100 人的公司使用)**
|**角色**|**CPU**|**内存**|**硬盘**|**带宽**|**部署说明**|
|:----|:----|:----|:----|:----|:----|
|WEB服务|8核|16G|SSD 1T|100M|安装除mysql之外的所有运行环境
如果有大数据风险监测模块:内存建议32G或以上|
|数据库+备份|8核|32G|SSD 1T|100M|只安装mysql服务,再加上备份服务|
**生产环境-推荐配置(适合 100-200 人的公司使用)**
|**角色**|**CPU**|**内存**|**硬盘**|**带宽**|**部署说明**|
|:----|:----|:----|:----|:----|:----|
|WEB服务|8核|16G|SSD 1T|100M|安装除mysql之外的所有运行环境
如果有大数据风险监测模块:内存建议32G或以上|
|数据库+备份|8核|64G|SSD 2T|100M|只安装mysql服务,再加上备份服务|
说明:如果对高可用有强制要求,建议再增加一台数据库服务器部署主从模式,防止数据库 DOWN 掉,引起系统不可用。
**生产环境-推荐配置(适合 200-500 人的公司使用)**
|**角色**|**CPU**|**内存**|**硬盘**|**带宽**|**部署说明**|
|:----|:----|:----|:----|:----|:----|
|WEB服务|8核|32G|SSD 500G|100M|安装除mysql之外的所有运行环境
如果有大数据风险监测模块:内存建议32G或以上|
|数据库主|8核|64G|SSD 2T|100M|只安装mysql|
|数据库从库+服务|8核|64G|SSD 2T|100M|安装mysql服务+备份服务|
|文件服务器|4核|8G|SSD 2T|100M|通过NFS方式挂载作为文件存储|
说明:如果系统内配置了复杂的大视图表且高频使用,需要酌情升级数据库服务器的配置,建议为 16 核+64G。
**有超过500人以上的中大型公司安装部署的服务器配置,请联系官方售后以获得专项技术支持。**
## >依赖和端口说明
* docker环境已经完善了所有依赖服务,只为快速部署!不用再一个一个添加站点,配置环境等繁琐操作,轻松安装!
* docker环境也不再挑系统,类linux都可以运行。
* 推荐环境:openEuler 22+ > Debian12 > Ubuntu 20.04 > Cenots 8 stream > Ubuntu 18.04 > 其它linux系统。
* **使用本方案安装系统预计仅需30分钟即可完成!****实际操作前务必先将本文档通读一遍****!**
* 本方案一台服务器只能安装一个项目环境,因为所有端口都按默认配置使用,不宜更改。如果对docker和docker-compose熟悉也可以着手改一下端口,以实现多项目安装运行。
* **docker环境的mysql 默认版本已经升级为8.0 ,mysql8 在性能上比mysql5.7有较大提升,平台已经适配mysql8.0 (20221022)**
* Docker环境默认端口:
**开发平台: 81**
**应用端 : 80**
**api接口:82**
**office: 8080**
**mysql: 3306**
**进度服务:9501、7272**
* 本教程更新日期:20231219 Author: hubing
# 一、安装BT面版,参考[开发平台系统linux原生环境部署手册-20231219修定](https://gitee.com/ancient-bright-moon/yry_install/blob/master/README.auto.md#开发平台%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%94%9Flinux%E5%AE%89%E8%A3%85%E6%89%8B%E5%86%8C)安装bt面版
官网: [https://www.bt.cn/](https://www.bt.cn/)
安装详细参考: [https://www.bt.cn/bbs/thread-19376-1-1.html](https://www.bt.cn/bbs/thread-19376-1-1.html)
# 二、安装docker管理器
如下:



# 三、下载docker环境镜像并安装
## 1.下载镜像包并解压
下载地址:[http://47.104.69.66:81/docker/docker_env.tar](http://47.104.69.66:81/docker/docker_env.tar)
**要注意,一定要切换到 /www/wwwroot 文件夹(固定目录,否则无法完成安装步骤!),再开始下载。**
如果没有目录,则先创建:
```lua
mkdir -p /www/wwwroot
```
切换到文件管理->远程下载


如果没有BT面版也可以用命令行下载:
```lua
cd /www/wwwroot
wget http://47.104.69.66:81/docker/docker_env.tar
```
下载完成后,解压文件。为了快速解压:切换到终端执行命令:
```php
tar -zxvf ./docker_env.tar
```

等待解压命令执行完成,终端窗口不要关,继续执行下面步骤的命令
##
## 2.执行docker镜像安装脚本
依次执行下面三条命令 (执行时间根据服务器性能而定,请耐心等待)
```php
cd docker_dir && ll
sh 0_install-docker.sh docker-20.10.5.tgz
sh 1_docker-env.sh
sh 2_load-images.sh
```


命令执行完成后,**先关闭终端**,准备下载代码包。
要将原环境的代码打包,且命名为 [www.tar.gz](https://#) (只能命名为[www.tar.gz](https://#) 否则后续安装会报错)。
## 3.下载项目代码
#### 3.1 全新安装时
下载包 [www.tar.gz](https://#) (下载地址:[http://47.104.69.66:81/docker/](http://47.104.69.66:81/docker/www.tar.gz)www.tar.gz) 20220926更新
切换到目录: **/www/wwwroot/docker_dir**,并将代码包下载(或者上传)到此目录
#### 3.2 老项目迁移安装
老项目代码打包有讲究的,请注意:
**(切换目录:到Public的上一级目录,再打压缩包,且压缩包名只能是**[www.tar.gz](https://#)**)**
**1.并且要保证文件包解后就直接是代码目录如下图一样,不能再有其他任何父级目录!**
**2.压缩格式只能是tar.gz**

也可以用快速打包脚本
直接用
```lua
sh ssh/pack_www.sh
```
#### 3.3 代码下载
新装服务器切换到目录: **/www/wwwroot/docker_dir**,并将代码包下载(或者上传)到此目录

###
## 4.继续执行www代码挂载脚本
#### 4.1再切换到终端,依次执行下面命令
```php
cd /www/wwwroot/docker_dir
sh 3_load-www.sh
```



注意原环境应用端项目英文名称查看方法如下图

**安装完成后的mysql密码需要自行复制并存起来备用!!!!**

#### 4.2安装完成后的正确目录,请自行核对




**另外如果有二次迁移环境时,也只需要将代码替换到此目录(**/www/wwwroot/yry/www/开发平台**)即可!!!!**
## 5.启动项目
准备工作:
先重启docker服务
```lua
systemctl restart docker.service
```
再重启系统防火墙:
```lua
centos 7 执行命令:systemctl restart firewalld
centos6 执行 service iptables restart
```
```php
cd /www/wwwroot/docker_dir
sh 4_start-web.sh
```

启动好后,Docker容器管理里面看得到以下容器在运行。

**注意:如果docker服务有重启或者php容器重启后,需要手动启动开发平台进度服务。**
命令如下:
```php
docker exec -it php sh /www/开发平台/ssh/startProcessServer.sh /www/开发平台/processServer 7272
```
自动重启的docker的脚本,将下面的代码复制并保存为 **restart_开发平台_docker.sh,以后重启docker的时候直接运行命令:** sh /www/wwwroot/yry/restart_开发平台_docker.sh 即可。
注意:路径/www/wwwroot/yry/可以自行修改,也可以不改。
```php
docker restart php
docker exec php /bin/sh -c "echo 118.190.106.117 register.yourongyun.cn >> /etc/hosts"
docker exec php /bin/sh -c "echo 118.190.106.117 cloud.yourongyun.cn >> /etc/hosts"
docker exec php /bin/sh -c "echo 180.101.49.58 api.fanyi.baidu.com >> /etc/hosts"
docker exec php /bin/sh -c "echo 121.42.161.16 www.tianxingshuke.com>> /etc/hosts"
docker exec -it php sh /www/开发平台/ssh/startProcessServer.sh /www/开发平台/processServer 7272
```
如下:

## 6.运行安装程序
#### 6.1数据恢复或者创建
先访问到phpmyAdmin将数据库账号和库建好 [http://192.168.100.243:888](http://192.168.100.243:888/index.php?route=/&route=%2F),请根据您自己的服务器IP+888端口即可,这里的root密码在 4.1步骤安装时自行查找。

配置数据库账号方法:请参考 [云开发平台环境原生安装教程-20230713修定-公版](https://shimo.im/docs/m5kv9Zy2MGHQ8JqX) 8.1 > 配置账号权限
创建好数据库账号密码、以及库名,并用工具把原环境数据恢复过来!!这里不再详细说明了。
另外注意:如果外网还有防火墙需要把 888端口和3306端口打开。
#### **6.2 开发平台安装程序**
本演示环境地址为:[http://192.168.100.243:81/](http://192.168.100.243:81/),**请根据您自己的服务器IP +上 81端口即可访问安装程序**。

直接依提示安装即可!
#### 6.3 安装过程注意事项
**A. docker环境安装时:数据库的主机地址要填 172.21.0.1:3306,要不然没办法访问。**
**为了数据库安全,数据库用户不要直接使用 root账号,请另外创建一个数据库账号使用!**

**B. 应用端端独立入口配置以及office服务地址配置**


**C. 首次安装完成后,关闭phpMyAdmin容器,后面按需开启,随用随关!!!!**

**phpredisadmin 也停止,一般情况下这里用不到,开发运维时使用。**

**D. 系统平台启用 redis 缓存的方法(开启redis缓存提升系统性能)非必须,按需启用!**


redis 密码查看方法,打开文件 : **/www/wwwroot/yry/www/services/redis/redis.conf**
搜索 "requirepass",大约在507行左右。

**E. pageoffice服务启动 检查**

项目信息第一步检查 office 地址,要填一个浏览器能访问的地址

#### 6.4 docker环境的mysql 自动备份shell脚本
将下面的脚本加入 crontab 自动任务。
```bash
crontab -e
```
```bash
1,1,*,*,* sh /data/script/mysql_backup.sh #每天晚上1点备份
```
将下面的内容保存为脚本 /data/script/mysql_backup.sh
```bash
#!/bin/bash
#脚本执行方式:sh /data/script/mysql_backup.sh
MYSQL_HOST="localhost"
MYSQL_USER="root" #root账号
MYSQL_PASSWD="xxx" #root密码自行修改
MYSQL="docker exec mysql /usr/bin/mysql"
MYSQLDUMP="docker exec mysql /usr/bin/mysqldump"
# docker exec 命令不能加-it参数
MYSQL_BACK_PATH=/data/mysql_backup
MYSQL_BACK_LOG=/data/mysql_backup/mysql_backup.log
DAY=`date +%Y%m%d`
LAST_DAY=`date -d yesterday +%Y%m%d`
TIME=`date +%Y%m%d-%H%M`
#判断备份目录
if [ ! -d "$MYSQL_BACK_PATH" ];then
mkdir -p $MYSQL_BACK_PATH
fi
#配置环境变量
export MYSQL_PWD=$MYSQL_PASSWD
#获取需要执行备份的数据库
DATABASES=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWD -h$MYSQL_HOST -N -e "show databases;" | tail -n +1 | grep -v mysql | grep -v sys | grep -v schema`
echo "----------开始执行备份,执行时间为$TIME----------" >> $MYSQL_BACK_LOG
#echo $DATABASES;
find $MYSQL_BACK_PATH -mindepth 1 -mtime +90 | xargs rm -rf
echo "成功删除90天以前的备份文件!"
#开始备份
for DATABASE in $DATABASES;do
$MYSQLDUMP -u$MYSQL_USER -p$MYSQL_PASSWD -h$MYSQL_HOST --skip_add_locks --skip-lock-tables $DATABASE > $MYSQL_BACK_PATH/$DATABASE.$DAY.sql 2> $MYSQL_BACK_PATH/$DATABASE.$DAY.sql.err
if [ $? -eq 0 ];then
tar zcPf $MYSQL_BACK_PATH/$DATABASE.$DAY.tgz $MYSQL_BACK_PATH/$DATABASE.$DAY.sql
rm -rf $MYSQL_BACK_PATH/$DATABASE.$LAST_DAY.sql
echo "$DATABASE 备份完成" >> $MYSQL_BACK_LOG
else
error_msg=$(tail -n 1 $MYSQL_BACK_PATH/$DATABASE.$DAY.sql.err | tr -d '\n')
echo "---- $DATABASE 备份失败: $error_msg" >> $MYSQL_BACK_LOG
# mail通知 ,IP要改为真实的IP
curl http://xxxx:83/Gateway/Mail/send -X POST -d "msg=$error_msg"
fi
done
```