Debian离线部署
离线环境通常部署在内网,无法连接外网下载依赖,因此安装过程中容易出现依赖缺失问题,难度显著高于在线安装。但只需严格按照以下步骤操作,即可顺利完成安装——所有步骤均经过实际环境验证,确保100%可行。

离线环境依赖安装
Section titled “离线环境依赖安装”创建临时目录
Section titled “创建临时目录”mkdir -p /tmp/offline && cd /tmp/offline上传离线文件包
Section titled “上传离线文件包”将debian-packages.tar.gz上传至该目录并进行解压
tar -zxvf debian-packages.tar.gz && cd debian-packages安装依赖文件
Section titled “安装依赖文件”dpkg -i *.deb && rm -fr /tmp/offlinemkdir -p /data上传文件至
/data目录下
# 解压JDK并重命名cd /data/ && mkdir -p /data/jdk && tar -xzvf OpenJDK*.tar.gz -C /data/jdk --strip-components 1 && rm -rf OpenJDK*.tar.gz# 解压云枢平台和报表cd /data/ && unzip cloudpivot_*.zip && rm -rf cloudpivot_*.zip;unzip reporter-deploy-*.zip && rm -rf reporter-deploy-*.zip配置JDK环境变量
Section titled “配置JDK环境变量”echo "export JAVA_HOME=/data/jdkexport CLASSPATH=.:\$JAVA_HOME/jre/lib/rt.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jarexport PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile更新配置文件并验证版本
Section titled “更新配置文件并验证版本”source /etc/profile && java -version安装MySQL
Section titled “安装MySQL”下载MySQL安装包
Section titled “下载MySQL安装包”首先需要在有网络连接的计算机上从 MySQL 官方网站下载tar包。例如mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar具体版本根据实际情况而定。
创建目录并将下载好的压缩包上传至目录
mkdir -p /tmp/mysql57 && cd /tmp/mysql57上传完成后开始进行解压
tar -xf mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar && rm -fr mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar安装RPM包
Section titled “安装RPM包”每个安装包之间存在关联,必须按照顺序执行。
dpkg -i mysql-common*dpkg -i mysql-community-client*dpkg -i mysql-client*dpkg -i mysql-community-server*dpkg -i mysql-server*创建数据库存储目录
Section titled “创建数据库存储目录”mkdir -p /data/mysql/prod修改配置文件
Section titled “修改配置文件”修改
/etc/mysql/my.cnf配置文件,可根据实际情况修改对应的配置,例如存储位置datadir之类的参数,如下快捷命令可直接执行
点我查看配置
echo '!includedir /etc/mysql/conf.d/
[mysqld]# 基础信息配置port=3306character_set_server=utf8mb4datadir=/data/mysql/prodsocket=/var/run/mysqld/mysqld.socksymbolic-links=0log-error=/var/log/mysql/error.logpid-file=/var/run/mysqld/mysqld.pidsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION# 大小写是否敏感设置# 0:表名存储在磁盘是区分大小写的,比较也是区分大小写的# 1:表名存储在磁盘是小写的,比较也是小写的# 2:表名存储在磁盘是区分大小写的,比较是小写的lower_case_table_names=1
# 连接配置max_connections=3000max_user_connections=3000max_connect_errors=100000max_allowed_packet=1Gcollation_server=utf8mb4_general_citable_open_cache=8000
# 日志配置expire_logs_days=30binlog_format=mixedslow_query_log=ONslow_query_log_file=/data/mysql/prod/slow.loglong_query_time=3log_queries_not_using_indexes=on
# innodb配置innodb_file_per_table=1# 根据服务器上的可用RAM,你可能考虑增加这个值innodb_buffer_pool_size=8Ginnodb_log_file_size=1024Minnodb_log_buffer_size=64M
# 集群配置# 唯一标识符,用于标识MySQL集群中的每个服务器 每个服务器应依次递增server-id=1# 用于设定每个节点之间的自增主键的起始值 每个服务器应依次递增auto-increment-offset=1# 用于设定每个节点之间的自增主键的增量 一般和服务器节点数量一致auto-increment-increment=2log-bin=mysql-binrelay-log=localhost-relay-binrelay-log-index=slave-relay-bin.index
# 需要同步的库 网上教程多是逗号隔开这是错误的配置方式binlog-do-db=cloudpivotbinlog-do-db=h3yun_report
[mysql]default_character_set=utf8mb4[client]default_character_set=utf8mb4' > /etc/mysql/my.cnf && chown -R mysql:mysql /data/mysql/prod/启动 MySQL 服务并设置开机自启动
Section titled “启动 MySQL 服务并设置开机自启动”systemctl restart mysql && systemctl enable mysql登录MySQL
Section titled “登录MySQL”mysql -u root -p创建数据库和用户
Section titled “创建数据库和用户”此操作是在登录MySQL后执行,并非是Shell命令
-- 创建云枢平台数据库CREATE DATABASE IF NOT EXISTS cloudpivot DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;-- 创建云枢报表数据库CREATE DATABASE IF NOT EXISTS h3yun_report DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;-- 授权平台库并创建用户 用户名authine 密码请自行定义GRANT ALL PRIVILEGES ON cloudpivot.* TO 'authine'@'%' identified by '你的密码';-- 授权报表库GRANT ALL PRIVILEGES ON h3yun_report.* TO 'authine'@'%';-- 刷新权限FLUSH PRIVILEGES;-- 取消授权可以使用以下语句-- REVOKE ALL PRIVILEGES ON cloudpivot.* FROM authine;-- REVOKE ALL PRIVILEGES ON h3yun_report.* FROM authine;初始化数据库
Section titled “初始化数据库”注意:第三步很多客户都未配置或配置错误导致登录出现OAuth Error。请大家仔细看说明,要修改此配置信息请先修改数据->停止后端服务->清空Redis缓存->重启云枢此操作是在登录MySQL后执行,并非是Shell命令
-- 第一步切换数据库use cloudpivot;-- 第二步执行初始SQLsource /data/cloudpivot/db/migration/mysql/deploy/install/all_init.sql-- 第三步修改权限表 此配置是配置云枢合法的登录地址,未配置的地址将无法登录。支持多套地址,每组都为四个以逗号隔开,请将{host}替换为你自己服务的地址 http(s)://IP:PORTUPDATE base_security_client SET registeredRedirectUris='{host}/admin,{host}/admin#/oauth,{host}/oauth,{host}/mobile/oauth' WHERE id = '8a5da52ed126447d359e70c05721a8aa';-- 第三步切换数据库use h3yun_report;-- 第四步执行初始SQLsource /data/reporter-deploy/sql/report_mysql.sql安装Redis
Section titled “安装Redis”创建目录文件存放安装包。
mkdir /tmp/redis && cd /tmp/redis安装deb包
Section titled “安装deb包”如遇安装失败请参考官网安装教程
tar -zxvf debian-redis.tar.gz && cd debian-redis && dpkg -i *.deb修改配置文件
Section titled “修改配置文件”vim /etc/redis.conf主要修改bind、requirepass两个配置
#允许所有地址连接bind 0.0.0.0#配置密码requirepass Authine!2024启动并设置开机自启
Section titled “启动并设置开机自启”systemctl restart redis-server.service && systemctl enable redis-server.service安装Nginx
Section titled “安装Nginx”下载离线安装包
Section titled “下载离线安装包”在有网的电脑上访问官方下载。
上传离线安装包
Section titled “上传离线安装包”创建并切换到该目录,将下载好的安装包上传至该目录
mkdir /tmp/nginx && cd /tmp/nginx安装DEB包
Section titled “安装DEB包”dpkg -i nginx_*.deb修改NGINX配置
Section titled “修改NGINX配置”注意:6.12.X及以上采用如下配置使用命令
vim /etc/nginx/nginx.conf或可视化编辑工具将该配置文件修改成如下内容
点我查看配置
# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;worker_processes auto;pid /run/nginx.pid;error_log /var/log/nginx/error.log;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;
events { use epoll; multi_accept on; worker_connections 65535;}
http { upstream cloudpivot { least_conn; server 127.0.0.1:8080; } upstream report { least_conn; server 127.0.0.1:6061; }
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr" "$upstream_status"'; #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; charset utf-8; sendfile on; keepalive_timeout 65; tcp_nopush on; tcp_nodelay on; types_hash_max_size 2048; gzip on; gzip_vary off; gzip_disable "MSIE [1-6]\."; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png; proxy_hide_header X-Powered-By; proxy_hide_header Server; #absolute_redirect off;
#这里可以配置限流操作 #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存, #以$binary_remote_addr 为key,限制平均每秒的请求为20个, #1M能存储16000个状态,rete的值必须为整数, #如果限制两秒钟一个请求,可以设置成30r/m #limit_req_zone $binary_remote_addr zone=allips:10m rate=50r/s;
#关闭访问日志 #access_log off; access_log /var/log/nginx/access.log main;
server { listen 80 default_server; listen [::]:80 default_server; server_name _;
root /data/cloudpivot/program/frontEnd/portal/; server_tokens off; #Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { try_files $uri $uri/index.html $uri/ /index.html; #absolute_redirect off; #入口页面不缓存 add_header Last-Modified $date_gmt; add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; if_modified_since off; expires off; etag off; }
location ~* ^.+\.(css|js|ico|gif|jpg|jpeg|png)$ { log_not_found off; #关闭日志 access_log off; #缓存时间30天 expires 30d; }
location ^~ /api/ { proxy_pass http://cloudpivot; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#可将下面两个配置为固定值: 对应入口层协议和端口 (适用于: nginx外层还有proxy并与当前scheme, server_port不一致的情况) proxy_set_header X-Forwarded-Proto $scheme; #proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Port $server_port; #proxy_set_header X-Forwarded-Port 443;
#absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /dashboard/ { proxy_pass http://report/dashboard/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
# 云枢8.0配套报表需要 不配置表单的统计分析功能无法使用 8.0以下可以取消此配置 location /statistic/ { proxy_pass http://report/statistic/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /common/ { proxy_pass http://report/common/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /data-source/ { proxy_pass http://report/data-source/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /v1/ { proxy_pass http://cloudpivot/api/v1/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; } }}点我查看配置
# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;worker_processes auto;pid /run/nginx.pid;error_log /var/log/nginx/error.log;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;
events { use epoll; multi_accept on; worker_connections 65535;}
http { upstream cloudpivot { least_conn; server 127.0.0.1:8080; } upstream report_dashboard { least_conn; server 127.0.0.1:6061; } upstream report_datasource { least_conn; server 127.0.0.1:6063; }
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr" "$upstream_status"'; #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; charset utf-8; sendfile on; keepalive_timeout 65; tcp_nopush on; tcp_nodelay on; types_hash_max_size 2048; gzip on; gzip_vary off; gzip_disable "MSIE [1-6]\."; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png; proxy_hide_header X-Powered-By; proxy_hide_header Server;
#这里可以配置限流操作 #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存, #以$binary_remote_addr 为key,限制平均每秒的请求为20个, #1M能存储16000个状态,rete的值必须为整数, #如果限制两秒钟一个请求,可以设置成30r/m #limit_req_zone $binary_remote_addr zone=allips:10m rate=50r/s;
#关闭访问日志 #access_log off; access_log /var/log/nginx/access.log main;
server { listen 80 default_server; listen [::]:80 default_server; server_name _;
root /data/cloudpivot/program/frontEnd/portal/; server_tokens off; #Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { try_files $uri $uri/index.html $uri/ /index.html; #absolute_redirect off; #入口页面不缓存 add_header Last-Modified $date_gmt; add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; if_modified_since off; expires off; etag off; }
location ~* ^.+\.(css|js|ico|gif|jpg|jpeg|png)$ { log_not_found off; #关闭日志 access_log off; #缓存时间30天 expires 30d; }
location ^~ /api/ { proxy_pass http://cloudpivot; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#可将下面两个配置为固定值: 对应入口层协议和端口 (适用于: nginx外层还有proxy并与当前scheme, server_port不一致的情况) proxy_set_header X-Forwarded-Proto $scheme; #proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Port $server_port; #proxy_set_header X-Forwarded-Port 443;
#absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /dashboard/ { proxy_pass http://report_dashboard/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /data-source/ { proxy_pass http://report_datasource/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; }
location /v1/ { proxy_pass http://cloudpivot/api/v1/; #proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; #absolute_redirect off; client_max_body_size 200m; proxy_read_timeout 300; } }}配置开机自启动
Section titled “配置开机自启动”systemctl enable nginx.service && systemctl restart nginx若启动后无法访问,请检查防火墙是否关闭,或端口是否放行
安装云枢平台
Section titled “安装云枢平台”修改云枢平台配置文件
Section titled “修改云枢平台配置文件”使用命令vim /data/cloudpivot/program/backEnd/webapi/application-prod.yml修改配置文件 主要修改内容如下,其他配置请参考云枢开发者手册
数据库配置:主要是url、username、password三个属性
spring:datasource:#数据库驱动:#driver-class-name: oracle.jdbc.OracleDriver # Oracle#driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # SQL Serverdriver-class-name: com.mysql.cj.jdbc.Driver # MySQL#数据库连接:#url: jdbc:oracle:thin:@127.0.0.1:1521:orcl #ORACLE#url: jdbc:sqlserver://127.0.0.1:3433;database=cloudpivot #SQL Serverurl: jdbc:mysql://127.0.0.1:3306/cloudpivot?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false #MySQLusername: authinepassword: Authine!2024Redis配置:主要是host、database、password三个属性
spring:redis:host: 127.0.0.1 #地址database: 0 #集群模式下不指定数据库,注释此选项password: Authine!2024 #密码报表配置:主要是thirdDatasourceUrl属性
cloudpivot:report:#datasourceurl: http://127.0.0.1:6060 #报表integrate-webapi项目的访问地址,如果是同服务器部署并且报表使用默认的6060端口 可直接使用http://127.0.0.1:6060supportoralce: true #是否支持oracle 报表后台版本20200318-2.3.0.4 以后默认打开# 注意:5.X及以上版本配置报表地址即可thirdDatasourceUrl: http://127.0.0.1:6061 #报表自定义sql服务器接口地址cloudpivot:report:#datasourceurl: http://127.0.0.1:6060 #报表integrate-webapi项目的访问地址,如果是同服务器部署并且报表使用默认的6060端口 可直接使用http://127.0.0.1:6060supportoralce: true #是否支持oracle 报表后台版本20200318-2.3.0.4 以后默认打开# 注意:5.X以下版本配置NGINX代理后的报表地址thirdDatasourceUrl: http://127.0.0.1:80 #报表自定义sql服务器接口地址修改报表配置文件
Section titled “修改报表配置文件”先执行以下命令再做编辑
cd /data/reporter-deploy/bin/ && chmod 755 *使用命令vim /data/reporter-deploy/bin/report.config修改配置文件 主要修改内容如下,其他配置请参考云枢开发者手册
# 注意:5.X及以上版本配置云枢地址即可REPORTER_ADAPTOR_HOST="http://127.0.0.1:8080/api/"# 日志目录REPORTER_LOG_DIR=/data/reporter-deploy/applog# 注意:5.X以下版本配置NGINX代理后的云枢地址REPORTER_ADAPTOR_PORT=80REPORTER_ADAPTOR_HOST="127.0.0.1"# 日志目录REPORTER_LOG_DIR=/data/reporter-deploy/applog数据库配置:
REPORTER_DATASTORE_DB_URL、REPORTER_DATASTORE_DB_USER、REPORTER_DATASTORE_DB_PASSWORD三个属性
# mysqlREPORTER_DATASTORE_DB_DRIVER="com.mysql.cj.jdbc.Driver"REPORTER_DATASTORE_DB_URL="jdbc:mysql://host:3306/h3yun_report?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true"
# oracle# REPORTER_DATASTORE_DB_DRIVER="oracle.jdbc.driver.OracleDriver"# REPORTER_DATASTORE_DB_URL="jdbc:oracle:thin:@//host:41521/db_name"REPORTER_DATASTORE_DB_USER="db_user"REPORTER_DATASTORE_DB_PASSWORD="db_password"安装配置文件:此操作主要是为了执行脚本生成配置文件
/data/reporter-deploy/bin/setup.sh启动云枢服务
Section titled “启动云枢服务”启动云枢平台
Section titled “启动云枢平台”如果有升级或者是覆盖安装的请先执行
/data/cloudpivot/program/backEnd/deploy.sh clean命令清除一下老版本安装信息
/data/cloudpivot/program/backEnd/deploy.sh webapi启动报表服务
Section titled “启动报表服务”/data/reporter-deploy/bin/startup.sh浏览器输入地址http://IP:PORT/admin输入账号:admin密码:123456登录后即可进入后台管理,http://IP:PORT为普通用户登录地址需初始化组织架构后才可使用。
© 2025-2026 LiuXing. All Rights Reserved.