|
@@ -0,0 +1,430 @@
|
|
|
|
|
+#!/bin/bash
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# Forge Admin 服务器环境安装脚本
|
|
|
|
|
+# 安装 JRE 17 + MySQL 8.0 + Redis 7 + Nginx
|
|
|
|
|
+# 前提:安装包已放在 /mnt/rar/ 目录
|
|
|
|
|
+# ============================================
|
|
|
|
|
+
|
|
|
|
|
+set -e
|
|
|
|
|
+
|
|
|
|
|
+PKG_DIR="/mnt/rar"
|
|
|
|
|
+INSTALL_DIR="/opt/forge-env"
|
|
|
|
|
+
|
|
|
|
|
+# 颜色输出
|
|
|
|
|
+GREEN='\033[0;32m'
|
|
|
|
|
+RED='\033[0;31m'
|
|
|
|
|
+YELLOW='\033[1;33m'
|
|
|
|
|
+NC='\033[0m'
|
|
|
|
|
+
|
|
|
|
|
+info() { echo -e "${GREEN}[INFO]${NC} $1"; }
|
|
|
|
|
+warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
|
|
|
|
+error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
|
|
|
|
+
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " Forge Admin 环境安装"
|
|
|
|
|
+echo " 安装包目录: ${PKG_DIR}"
|
|
|
|
|
+echo " 安装目标: ${INSTALL_DIR}"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+
|
|
|
|
|
+# 检查安装包
|
|
|
|
|
+for f in \
|
|
|
|
|
+ "OpenJDK17U-jre_x64_linux_hotspot_17.0.20.1_1.tar.gz" \
|
|
|
|
|
+ "mysql-8.0.46-linux-glibc2.28-x86_64.tar.xz" \
|
|
|
|
|
+ "redis-7.0.15.tar.gz" \
|
|
|
|
|
+ "nginx-1.25.4.tar.gz"; do
|
|
|
|
|
+ if [ ! -f "${PKG_DIR}/${f}" ]; then
|
|
|
|
|
+ error "缺少安装包: ${f}"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
+done
|
|
|
|
|
+info "所有安装包已就绪"
|
|
|
|
|
+
|
|
|
|
|
+# 安装编译工具(Redis 和 Nginx 需要)
|
|
|
|
|
+info "安装编译工具 gcc/make/pcre-devel/zlib-devel/openssl-devel..."
|
|
|
|
|
+yum install -y gcc make pcre-devel zlib-devel openssl-devel xz 2>/dev/null || {
|
|
|
|
|
+ error "yum 安装编译工具失败,请检查网络或 yum 源"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+mkdir -p ${INSTALL_DIR}
|
|
|
|
|
+
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# 1. 安装 JRE 17
|
|
|
|
|
+# ============================================
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " [1/4] 安装 JRE 17"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+
|
|
|
|
|
+JRE_DIR="${INSTALL_DIR}/jre-17"
|
|
|
|
|
+if [ -d "${JRE_DIR}" ] && [ -x "${JRE_DIR}/bin/java" ]; then
|
|
|
|
|
+ info "JRE 17 已安装: $(${JRE_DIR}/bin/java -version 2>&1 | head -1)"
|
|
|
|
|
+else
|
|
|
|
|
+ info "解压 JRE 17..."
|
|
|
|
|
+ tar -xzf "${PKG_DIR}/OpenJDK17U-jre_x64_linux_hotspot_17.0.20.1_1.tar.gz" -C ${INSTALL_DIR}
|
|
|
|
|
+ # 找到解压后的目录并重命名
|
|
|
|
|
+ EXTRACTED=$(find ${INSTALL_DIR} -maxdepth 1 -name "jdk-17*" -o -name "jre-17*" | head -1)
|
|
|
|
|
+ if [ -z "${EXTRACTED}" ]; then
|
|
|
|
|
+ # 可能解压到了 jdk-17.0.20.1+1-jre 之类的目录
|
|
|
|
|
+ EXTRACTED=$(find ${INSTALL_DIR} -maxdepth 1 -type d | grep -i "17" | head -1)
|
|
|
|
|
+ fi
|
|
|
|
|
+ if [ -n "${EXTRACTED}" ] && [ "${EXTRACTED}" != "${JRE_DIR}" ]; then
|
|
|
|
|
+ mv "${EXTRACTED}" "${JRE_DIR}"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 配置环境变量
|
|
|
|
|
+ if ! grep -q "JAVA_HOME=${JRE_DIR}" /etc/profile; then
|
|
|
|
|
+ echo "" >> /etc/profile
|
|
|
|
|
+ echo "# JRE 17 for Forge Admin" >> /etc/profile
|
|
|
|
|
+ echo "export JAVA_HOME=${JRE_DIR}" >> /etc/profile
|
|
|
|
|
+ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
|
|
|
|
|
+ fi
|
|
|
|
|
+ export JAVA_HOME=${JRE_DIR}
|
|
|
|
|
+ export PATH=${JRE_DIR}/bin:$PATH
|
|
|
|
|
+
|
|
|
|
|
+ info "JRE 17 安装完成: $(java -version 2>&1 | head -1)"
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# 2. 安装 MySQL 8.0(二进制包方式)
|
|
|
|
|
+# ============================================
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " [2/4] 安装 MySQL 8.0"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+
|
|
|
|
|
+MYSQL_DIR="${INSTALL_DIR}/mysql"
|
|
|
|
|
+MYSQL_DATA="${INSTALL_DIR}/mysql-data"
|
|
|
|
|
+MYSQL_PORT="${MYSQL_PORT:-3306}"
|
|
|
|
|
+
|
|
|
|
|
+if [ -d "${MYSQL_DIR}/bin/mysqld" ]; then
|
|
|
|
|
+ info "MySQL 8.0 已安装: $(${MYSQL_DIR}/bin/mysqld --version)"
|
|
|
|
|
+else
|
|
|
|
|
+ info "解压 MySQL 8.0(约 850MB,请耐心等待)..."
|
|
|
|
|
+ tar -xJf "${PKG_DIR}/mysql-8.0.46-linux-glibc2.28-x86_64.tar.xz" -C ${INSTALL_DIR}
|
|
|
|
|
+ EXTRACTED=$(find ${INSTALL_DIR} -maxdepth 1 -type d -name "mysql-8*" | head -1)
|
|
|
|
|
+ if [ -n "${EXTRACTED}" ] && [ "${EXTRACTED}" != "${MYSQL_DIR}" ]; then
|
|
|
|
|
+ mv "${EXTRACTED}" "${MYSQL_DIR}"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 mysql 用户
|
|
|
|
|
+ if ! id mysql &>/dev/null; then
|
|
|
|
|
+ useradd -r -s /sbin/nologin mysql
|
|
|
|
|
+ info "创建 mysql 用户"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 创建数据目录
|
|
|
|
|
+ mkdir -p ${MYSQL_DATA}
|
|
|
|
|
+ chown -R mysql:mysql ${MYSQL_DIR} ${MYSQL_DATA}
|
|
|
|
|
+
|
|
|
|
|
+ # 初始化数据库
|
|
|
|
|
+ info "初始化 MySQL 数据库..."
|
|
|
|
|
+ ${MYSQL_DIR}/bin/mysqld --initialize-insecure \
|
|
|
|
|
+ --user=mysql \
|
|
|
|
|
+ --basedir=${MYSQL_DIR} \
|
|
|
|
|
+ --datadir=${MYSQL_DATA} 2>&1 | tail -3
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 my.cnf 配置
|
|
|
|
|
+ cat > /etc/my.cnf << EOF
|
|
|
|
|
+[mysqld]
|
|
|
|
|
+basedir=${MYSQL_DIR}
|
|
|
|
|
+datadir=${MYSQL_DATA}
|
|
|
|
|
+port=${MYSQL_PORT}
|
|
|
|
|
+socket=/tmp/mysql.sock
|
|
|
|
|
+character-set-server=utf8mb4
|
|
|
|
|
+collation-server=utf8mb4_unicode_ci
|
|
|
|
|
+default-authentication-plugin=mysql_native_password
|
|
|
|
|
+innodb_buffer_pool_size=256M
|
|
|
|
|
+max_connections=100
|
|
|
|
|
+symbolic-links=0
|
|
|
|
|
+
|
|
|
|
|
+[mysqld_safe]
|
|
|
|
|
+log-error=/var/log/mysqld.log
|
|
|
|
|
+pid-file=/var/run/mysqld/mysqld.pid
|
|
|
|
|
+
|
|
|
|
|
+[client]
|
|
|
|
|
+port=${MYSQL_PORT}
|
|
|
|
|
+socket=/tmp/mysql.sock
|
|
|
|
|
+default-character-set=utf8mb4
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 systemd 服务
|
|
|
|
|
+ cat > /etc/systemd/system/mysqld.service << EOF
|
|
|
|
|
+[Unit]
|
|
|
|
|
+Description=MySQL 8.0 Server
|
|
|
|
|
+After=network.target
|
|
|
|
|
+
|
|
|
|
|
+[Service]
|
|
|
|
|
+Type=forking
|
|
|
|
|
+User=mysql
|
|
|
|
|
+Group=mysql
|
|
|
|
|
+ExecStart=${MYSQL_DIR}/bin/mysqld_safe --defaults-file=/etc/my.cnf
|
|
|
|
|
+ExecStop=${MYSQL_DIR}/bin/mysqladmin -u root shutdown
|
|
|
|
|
+Restart=on-failure
|
|
|
|
|
+LimitNOFILE=65535
|
|
|
|
|
+
|
|
|
|
|
+[Install]
|
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+ systemctl daemon-reload
|
|
|
|
|
+ systemctl enable mysqld
|
|
|
|
|
+ systemctl start mysqld
|
|
|
|
|
+ sleep 3
|
|
|
|
|
+
|
|
|
|
|
+ # 设置 root 密码 + 创建数据库
|
|
|
|
|
+ info "配置 MySQL root 密码和数据库..."
|
|
|
|
|
+ ${MYSQL_DIR}/bin/mysql -u root --socket=/tmp/mysql.sock -e "
|
|
|
|
|
+ ALTER USER 'root'@'localhost' IDENTIFIED BY 'forge123456';
|
|
|
|
|
+ CREATE DATABASE IF NOT EXISTS forge_admin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
|
|
|
+ FLUSH PRIVILEGES;
|
|
|
|
|
+ " 2>/dev/null || {
|
|
|
|
|
+ # 如果上面失败,尝试无密码方式
|
|
|
|
|
+ ${MYSQL_DIR}/bin/mysql -u root --socket=/tmp/mysql.sock -e "
|
|
|
|
|
+ CREATE DATABASE IF NOT EXISTS forge_admin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
|
|
|
+ "
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ # 创建软链接方便使用
|
|
|
|
|
+ ln -sf ${MYSQL_DIR}/bin/mysql /usr/local/bin/mysql 2>/dev/null || true
|
|
|
|
|
+ ln -sf ${MYSQL_DIR}/bin/mysqld /usr/local/bin/mysqld 2>/dev/null || true
|
|
|
|
|
+
|
|
|
|
|
+ info "MySQL 8.0 安装完成: $(${MYSQL_DIR}/bin/mysqld --version)"
|
|
|
|
|
+ info "root 密码: forge123456"
|
|
|
|
|
+ info "数据库: forge_admin"
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# 3. 安装 Redis 7(源码编译)
|
|
|
|
|
+# ============================================
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " [3/4] 安装 Redis 7"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+
|
|
|
|
|
+REDIS_DIR="${INSTALL_DIR}/redis"
|
|
|
|
|
+
|
|
|
|
|
+if [ -d "${REDIS_DIR}/bin/redis-server" ]; then
|
|
|
|
|
+ info "Redis 已安装: $(${REDIS_DIR}/bin/redis-server --version)"
|
|
|
|
|
+else
|
|
|
|
|
+ info "解压并编译 Redis 7..."
|
|
|
|
|
+ cd /tmp
|
|
|
|
|
+ tar -xzf "${PKG_DIR}/redis-7.0.15.tar.gz"
|
|
|
|
|
+ cd redis-7.0.15
|
|
|
|
|
+ make -j$(nproc) 2>&1 | tail -5
|
|
|
|
|
+ make PREFIX=${REDIS_DIR} install 2>&1 | tail -3
|
|
|
|
|
+
|
|
|
|
|
+ # 清理编译临时文件
|
|
|
|
|
+ cd /tmp && rm -rf redis-7.0.15
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 redis 用户
|
|
|
|
|
+ if ! id redis &>/dev/null; then
|
|
|
|
|
+ useradd -r -s /sbin/nologin redis
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 创建配置和数据目录
|
|
|
|
|
+ mkdir -p ${REDIS_DIR}/etc ${REDIS_DIR}/data
|
|
|
|
|
+ chown -R redis:redis ${REDIS_DIR}
|
|
|
|
|
+
|
|
|
|
|
+ # 生成 redis.conf
|
|
|
|
|
+ cat > ${REDIS_DIR}/etc/redis.conf << EOF
|
|
|
|
|
+bind 127.0.0.1
|
|
|
|
|
+port 6379
|
|
|
|
|
+requirepass forge123456
|
|
|
|
|
+daemonize yes
|
|
|
|
|
+pidfile /var/run/redis/redis.pid
|
|
|
|
|
+logfile /var/log/redis/redis.log
|
|
|
|
|
+dir ${REDIS_DIR}/data
|
|
|
|
|
+appendonly yes
|
|
|
|
|
+appendfilename "appendonly.aof"
|
|
|
|
|
+maxmemory 256mb
|
|
|
|
|
+maxmemory-policy allkeys-lru
|
|
|
|
|
+tcp-keepalive 300
|
|
|
|
|
+timeout 300
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+ mkdir -p /var/run/redis /var/log/redis
|
|
|
|
|
+ chown -R redis:redis /var/run/redis /var/log/redis
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 systemd 服务
|
|
|
|
|
+ cat > /etc/systemd/system/redis.service << EOF
|
|
|
|
|
+[Unit]
|
|
|
|
|
+Description=Redis 7.0
|
|
|
|
|
+After=network.target
|
|
|
|
|
+
|
|
|
|
|
+[Service]
|
|
|
|
|
+Type=forking
|
|
|
|
|
+User=redis
|
|
|
|
|
+Group=redis
|
|
|
|
|
+ExecStart=${REDIS_DIR}/bin/redis-server ${REDIS_DIR}/etc/redis.conf
|
|
|
|
|
+ExecStop=${REDIS_DIR}/bin/redis-cli -a forge123456 shutdown
|
|
|
|
|
+Restart=on-failure
|
|
|
|
|
+
|
|
|
|
|
+[Install]
|
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+ systemctl daemon-reload
|
|
|
|
|
+ systemctl enable redis
|
|
|
|
|
+ systemctl start redis
|
|
|
|
|
+
|
|
|
|
|
+ info "Redis 7 安装完成: $(${REDIS_DIR}/bin/redis-server --version)"
|
|
|
|
|
+ info "密码: forge123456"
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# 4. 安装 Nginx(源码编译)
|
|
|
|
|
+# ============================================
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " [4/4] 安装 Nginx"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+
|
|
|
|
|
+NGINX_DIR="${INSTALL_DIR}/nginx"
|
|
|
|
|
+
|
|
|
|
|
+if [ -d "${NGINX_DIR}/sbin/nginx" ]; then
|
|
|
|
|
+ info "Nginx 已安装: $(${NGINX_DIR}/sbin/nginx -v 2>&1)"
|
|
|
|
|
+else
|
|
|
|
|
+ info "解压并编译 Nginx..."
|
|
|
|
|
+ cd /tmp
|
|
|
|
|
+ tar -xzf "${PKG_DIR}/nginx-1.25.4.tar.gz"
|
|
|
|
|
+ cd nginx-1.25.4
|
|
|
|
|
+ ./configure \
|
|
|
|
|
+ --prefix=${NGINX_DIR} \
|
|
|
|
|
+ --with-http_ssl_module \
|
|
|
|
|
+ --with-http_gzip_static_module \
|
|
|
|
|
+ --with-http_realip_module \
|
|
|
|
|
+ 2>&1 | tail -3
|
|
|
|
|
+ make -j$(nproc) 2>&1 | tail -3
|
|
|
|
|
+ make install 2>&1 | tail -3
|
|
|
|
|
+
|
|
|
|
|
+ # 清理编译临时文件
|
|
|
|
|
+ cd /tmp && rm -rf nginx-1.25.4
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 nginx 用户
|
|
|
|
|
+ if ! id nginx &>/dev/null; then
|
|
|
|
|
+ useradd -r -s /sbin/nologin nginx
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ # 备份默认配置,写入 Forge 配置
|
|
|
|
|
+ mv ${NGINX_DIR}/conf/nginx.conf ${NGINX_DIR}/conf/nginx.conf.bak 2>/dev/null || true
|
|
|
|
|
+ cat > ${NGINX_DIR}/conf/nginx.conf << 'NGINXEOF'
|
|
|
|
|
+worker_processes auto;
|
|
|
|
|
+error_log logs/error.log warn;
|
|
|
|
|
+pid logs/nginx.pid;
|
|
|
|
|
+
|
|
|
|
|
+events {
|
|
|
|
|
+ worker_connections 1024;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+http {
|
|
|
|
|
+ include mime.types;
|
|
|
|
|
+ default_type application/octet-stream;
|
|
|
|
|
+ sendfile on;
|
|
|
|
|
+ keepalive_timeout 65;
|
|
|
|
|
+ client_max_body_size 20m;
|
|
|
|
|
+
|
|
|
|
|
+ gzip on;
|
|
|
|
|
+ gzip_types text/plain application/json application/javascript text/css;
|
|
|
|
|
+ gzip_min_length 1000;
|
|
|
|
|
+
|
|
|
|
|
+ server {
|
|
|
|
|
+ listen 80;
|
|
|
|
|
+ server_name _;
|
|
|
|
|
+
|
|
|
|
|
+ # 前端静态资源
|
|
|
|
|
+ location /forge/ {
|
|
|
|
|
+ alias /opt/forge/frontend/;
|
|
|
|
|
+ index index.html index.htm;
|
|
|
|
|
+ try_files $uri $uri/ /forge/index.html;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ # 根路径重定向
|
|
|
|
|
+ location = / {
|
|
|
|
|
+ return 302 /forge;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ # 流程服务 API
|
|
|
|
|
+ location /forge-api/api/flow/ {
|
|
|
|
|
+ proxy_send_timeout 3000;
|
|
|
|
|
+ proxy_read_timeout 3000;
|
|
|
|
|
+ proxy_connect_timeout 3000;
|
|
|
|
|
+ proxy_pass http://127.0.0.1:8081/api/flow/;
|
|
|
|
|
+ proxy_set_header Host $host;
|
|
|
|
|
+ proxy_set_header X-Real-IP $remote_addr;
|
|
|
|
|
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ # 后端主服务 API
|
|
|
|
|
+ location /forge-api/ {
|
|
|
|
|
+ proxy_send_timeout 3000;
|
|
|
|
|
+ proxy_read_timeout 3000;
|
|
|
|
|
+ proxy_connect_timeout 3000;
|
|
|
|
|
+ proxy_pass http://127.0.0.1:8580/;
|
|
|
|
|
+ proxy_set_header Host $host;
|
|
|
|
|
+ proxy_set_header X-Real-IP $remote_addr;
|
|
|
|
|
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+NGINXEOF
|
|
|
|
|
+
|
|
|
|
|
+ # 创建 systemd 服务
|
|
|
|
|
+ cat > /etc/systemd/system/nginx.service << EOF
|
|
|
|
|
+[Unit]
|
|
|
|
|
+Description=Nginx HTTP Server
|
|
|
|
|
+After=network.target
|
|
|
|
|
+
|
|
|
|
|
+[Service]
|
|
|
|
|
+Type=forking
|
|
|
|
|
+ExecStart=${NGINX_DIR}/sbin/nginx
|
|
|
|
|
+ExecStop=${NGINX_DIR}/sbin/nginx -s quit
|
|
|
|
|
+ExecReload=${NGINX_DIR}/sbin/nginx -s reload
|
|
|
|
|
+Restart=on-failure
|
|
|
|
|
+
|
|
|
|
|
+[Install]
|
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
|
+EOF
|
|
|
|
|
+
|
|
|
|
|
+ systemctl daemon-reload
|
|
|
|
|
+ systemctl enable nginx
|
|
|
|
|
+ systemctl start nginx
|
|
|
|
|
+
|
|
|
|
|
+ info "Nginx 安装完成: $(${NGINX_DIR}/sbin/nginx -v 2>&1)"
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+# ============================================
|
|
|
|
|
+# 安装完成总结
|
|
|
|
|
+# ============================================
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo " ✅ 全部安装完成!"
|
|
|
|
|
+echo "=========================================="
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " 安装目录: ${INSTALL_DIR}"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " JRE 17: ${JRE_DIR}/bin/java"
|
|
|
|
|
+echo " 版本: $(java -version 2>&1 | head -1)"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " MySQL: ${MYSQL_DIR}/bin/mysqld"
|
|
|
|
|
+echo " 版本: $(${MYSQL_DIR}/bin/mysqld --version)"
|
|
|
|
|
+echo " 数据: ${MYSQL_DATA}"
|
|
|
|
|
+echo " root密码: forge123456"
|
|
|
|
|
+echo " 数据库: forge_admin"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " Redis: ${REDIS_DIR}/bin/redis-server"
|
|
|
|
|
+echo " 版本: $(${REDIS_DIR}/bin/redis-server --version)"
|
|
|
|
|
+echo " 密码: forge123456"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " Nginx: ${NGINX_DIR}/sbin/nginx"
|
|
|
|
|
+echo " 版本: $(${NGINX_DIR}/sbin/nginx -v 2>&1)"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " 服务管理命令:"
|
|
|
|
|
+echo " systemctl status mysqld"
|
|
|
|
|
+echo " systemctl status redis"
|
|
|
|
|
+echo " systemctl status nginx"
|
|
|
|
|
+echo ""
|
|
|
|
|
+echo " 下一步:"
|
|
|
|
|
+echo " 1. 将 Windows 构建好的 jar 和 dist 上传到 /opt/forge/"
|
|
|
|
|
+echo " 2. 启动后端服务"
|
|
|
|
|
+echo "=========================================="
|