# 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管理器 如下: ![avatar](./doc/image_xxx.png) ![avatar](./doc/74fbf7ea6d5fe38b8bce2a6ad1d661aa.png) ![avatar](./doc/c2ce53270b85d51d381af1b665567bde.png) # 三、下载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 ``` 切换到文件管理->远程下载 ![avatar](./doc/78237429b9ec357ca4fa9ab0d56757fa.png) ![avatar](./doc/1bb229308ac75c1bc1fa3e2ebf441431.png) 如果没有BT面版也可以用命令行下载: ```lua cd /www/wwwroot wget http://47.104.69.66:81/docker/docker_env.tar ``` 下载完成后,解压文件。为了快速解压:切换到终端执行命令: ```php tar -zxvf ./docker_env.tar ``` ![avatar](./doc/8547633955c905abc1da5b08a4733724.png) 等待解压命令执行完成,终端窗口不要关,继续执行下面步骤的命令 ## ## 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 ``` ![avatar](./doc/53f1c54e9443a2b86ae1d860aa8a732a.png) ![avatar](./doc/11d6e0047078d1d3bdad445925f1d7b7.png) 命令执行完成后,**先关闭终端**,准备下载代码包。 要将原环境的代码打包,且命名为 [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** ![avatar](./doc/012f9305788936a75297b8b24791e55c.png) 也可以用快速打包脚本 直接用 ```lua sh   ssh/pack_www.sh ``` #### 3.3 代码下载 新装服务器切换到目录: **/www/wwwroot/docker_dir**,并将代码包下载(或者上传)到此目录 ![avatar](./doc/97fc12bbc4b4036dd09ada000e45aaab.png) ### ## 4.继续执行www代码挂载脚本 #### 4.1再切换到终端,依次执行下面命令 ```php cd /www/wwwroot/docker_dir sh 3_load-www.sh  ``` ![avatar](./doc/35861466e1b33d6f2cf69f5ec352e245.png) ![avatar](./doc/94c78269c0a97827f8cfd543d7caec5b.png) ![avatar](./doc/f27dff4a13e4f1673aeae4d1557828f7.png) 注意原环境应用端项目英文名称查看方法如下图 ![avatar](./doc/5f97b55a03932cc82d2cc47937863713.png) **安装完成后的mysql密码需要自行复制并存起来备用!!!!** ![avatar](./doc/1880165b83ba91958a794def57dbcc04.png) #### 4.2安装完成后的正确目录,请自行核对 ![avatar](./doc/643235373c1a9d07ee50002d9b4dd719.png) ![avatar](./doc/2132e1ac03747c00288115b90452569a.png) ![avatar](./doc/d7273f323a98b829928c918fa43a1428.png) ![avatar](./doc/94ebd7bef1fbe9bebf06c2d27c2bc224.png) **另外如果有二次迁移环境时,也只需要将代码替换到此目录(**/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 ``` ![avatar](./doc/04050091c3718dda182b84723e469eb1.png) 启动好后,Docker容器管理里面看得到以下容器在运行。 ![avatar](./doc/74aa4be13026108a23c5b1b2ae53705a.png) **注意:如果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 ``` 如下: ![avatar](./doc/ce292a56366625ddfbaf30488d7ee9d7.png) ## 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步骤安装时自行查找。 ![avatar](./doc/dad7b03f6df53c0b028adfe0e3669e60.png) 配置数据库账号方法:请参考 [云开发平台环境原生安装教程-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端口即可访问安装程序**。 ![avatar](./doc/5849a55e527fd51a21c6a63e1b3077eb.png) 直接依提示安装即可! #### 6.3 安装过程注意事项 **A. docker环境安装时:数据库的主机地址要填 172.21.0.1:3306,要不然没办法访问。** **为了数据库安全,数据库用户不要直接使用 root账号,请另外创建一个数据库账号使用!** ![avatar](./doc/7754ec38fff9f1d8462b5f67be81b6fc.png) **B. 应用端端独立入口配置以及office服务地址配置** ![avatar](./doc/75e2316f565187835be419331429866c.png) ![avatar](./doc/64887fd62ef0190bd43d6c5fb9b4504d.png) **C. 首次安装完成后,关闭phpMyAdmin容器,后面按需开启,随用随关!!!!** ![avatar](./doc/1a8c41994470f74a5f88979b0a7e53a4.png) **phpredisadmin 也停止,一般情况下这里用不到,开发运维时使用。** ![avatar](./doc/2d07ab7c7c090ee7e632c3905e802dc1.png) **D. 系统平台启用 redis 缓存的方法(开启redis缓存提升系统性能)非必须,按需启用!** ![avatar](./doc/ba121a9bea9320f40479cbd16c610496.png) ![avatar](./doc/f3d5214f6306f1371768752302b2c757.png) redis 密码查看方法,打开文件 : **/www/wwwroot/yry/www/services/redis/redis.conf** 搜索 "requirepass",大约在507行左右。 ![avatar](./doc/e5e2ae50c723e242645a3612ef4d3682.png) **E. pageoffice服务启动 检查** ![avatar](./doc/b1e42c66c485c081dee59fb444af37c1.png) 项目信息第一步检查 office  地址,要填一个浏览器能访问的地址 ![avatar](./doc/fd390c1d46803b3e85ac8b20f248b64e.png) #### 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 ```