文档

文档

helper.sh 脚本的使用方式、运维建议与一键命令示例。

分发模型

  • 每个脚本同时提供面向人的说明页和原始文件 URL。
  • 终端自动化使用原始 URL,交接和审阅使用说明页 URL。
  • 把运维前提条件直接写在可执行命令旁边。

快速开始

helper.sh 把脚本作为纯文本文件发布,因此你可以按自己的运维规范选择在线查看、下载或直接 pipe 给 bash。

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'
curl -fL 'https://www.helper.sh/install_workerman3524_base_docker.sh' -o './install_workerman3524_base_docker.sh'
curl -fL 'https://www.helper.sh/hello.sh' -o './hello.sh'
curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh'
curl -fL 'https://www.helper.sh/install_docker_ubuntu_2404.sh' -o './install_docker_ubuntu_2404.sh'
curl -fL 'https://www.helper.sh/install_nginx_base_docker.sh' -o './install_nginx_base_docker.sh'
curl -fL 'https://www.helper.sh/install_mysql57_base_docker.sh' -o './install_mysql57_base_docker.sh'
curl -fL 'https://www.helper.sh/install_php72_base_docker.sh' -o './install_php72_base_docker.sh'
curl -fL 'https://www.helper.sh/install_openvpn_server_centos.sh' -o './install_openvpn_server_centos.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_ubuntu.sh' -o './install_openvpn_client_ubuntu.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_centos7.sh' -o './install_openvpn_client_centos7.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_anolis8.sh' -o './install_openvpn_client_anolis8.sh'
curl -fL 'https://www.helper.sh/disable_openvpn_client_dns.sh' -o './disable_openvpn_client_dns.sh'
curl -fL 'https://www.helper.sh/switch-centos7-repo.sh' -o './switch-centos7-repo.sh'
curl -fL 'https://www.helper.sh/optimize_centos7_ssh.sh' -o './optimize_centos7_ssh.sh'
curl -fL 'https://www.helper.sh/centos_disable_password_ssh.sh' -o './centos_disable_password_ssh.sh'
curl -fL 'https://www.helper.sh/install_bleachwrt_docker_centos7.sh' -o './install_bleachwrt_docker_centos7.sh'
curl -fL 'https://www.helper.sh/tree-to-file.sh' -o './tree-to-file.sh'

脚本文档

可用使用说明

install_redis705_base_docker.sh

一个基于 Docker 的 Redis 7.0.5 一键安装脚本,会准备 /data/redis7.0.5 并启动一个宿主机挂载的缓存容器。

install_workerman3524_base_docker.sh

旧版 Workerman/PHP 7.2 构建示例:应用文件复制进镜像,只有 logs 是 bind mount;修改应用后需要重新构建并替换容器。

hello.sh

输出 uname 和固定提示的小型 Bash 分发检查脚本。

docker-data-move.sh

一个交互式迁移脚本,用于把 Docker data-root 安全迁移到更大的磁盘,并带有路径检查、备份和验证流程。

install_docker_ubuntu_2404.sh

一个适用于 Ubuntu 24.04.4 LTS 的 Docker 与 Docker Compose 一键安装脚本,由 helper.sh 托管发布。

install_nginx_base_docker.sh

用于启动 Docker Nginx 1.22.1 并创建宿主机持久化目录的脚本,会映射 80/443 端口;默认配置仅提供 HTTP。

install_mysql57_base_docker.sh

一个基于 Docker 的 MySQL 5.7 一键安装脚本,会准备 /data/mysql5.7 并启动一个宿主机挂载的数据库容器。

install_php72_base_docker.sh

一个基于 Docker 的 PHP 7.2 一键安装脚本,会准备 /data/php7.2 并启动一个宿主机挂载的 PHP-FPM 容器。

CentOS 7 OpenVPN 服务端一键安装脚本

CentOS 7 专用 OpenVPN 服务端示例,包含固定局域网路由、用户名/密码认证及防火墙变更。

install_openvpn_client_ubuntu.sh

一个托管在 helper.sh 的 Ubuntu OpenVPN 客户端安装脚本,会先检查当前目录中的 client.conf 和 login.txt,再安装 OpenVPN 并启用 systemd 客户端服务。

install_openvpn_client_centos7.sh

CentOS 7 OpenVPN 客户端设置,可使用本地认证文件和 DNS 钩子;安装软件包不代表隧道已连通。

install_openvpn_client_anolis8.sh

Anolis OS 8 OpenVPN 客户端设置,可使用本地认证文件和 DNS 钩子;安装软件包不代表隧道已连通。

disable_openvpn_client_dns.sh

注释所选 OpenVPN 配置中的匹配 DNS 钩子并尝试重启;不会自动还原已有解析器状态。

switch-centos7-repo.sh

一个用于 CentOS 7 切换 yum 软件源的脚本,适合在默认仓库失效、归档或访问异常时快速恢复可用源。

optimize_centos7_ssh.sh

一个面向 CentOS 7 的 SSH 维护脚本,会关闭反向 DNS 查询和 GSSAPI 认证、选择 IPv4、校验 sshd_config,然后重启 sshd。

centos_disable_password_ssh.sh

一个用于 CentOS SSH 加固的脚本,会检查 authorized_keys 是否非空,再关闭密码类认证、启用公钥认证、校验 sshd_config 并重载 sshd。

install_bleachwrt_docker_centos7.sh

遗留 CentOS 7 局域网实验示例:使用特权 OpenWrt 兼容容器和 macvlan,需先审阅主机级网络变更。

tree-to-file.sh

一个托管在 helper.sh 的目录结构导出脚本,用来把当前项目树写入 tree.txt;当系统没有 tree 命令时会自动尝试安装,失败则回退到内置遍历逻辑。

平台页面

按系统和宿主机角色浏览

如果你的搜索习惯是从 Ubuntu、CentOS、Docker 宿主机这类平台词开始,可以先进入这些平台页。

平台页面

Ubuntu 24.04 脚本

选择 Docker/OpenVPN 安装器前核对 Ubuntu 版本、systemd 和仓库访问条件。

平台页面

Anolis OS 8 脚本

检查 Anolis 8/dnf OpenVPN 分支及通用维护前提,不仅凭 RHEL 系标签推定兼容。

平台页面

Docker 宿主机初始化

在部署业务容器前,先把 Docker 宿主机本身整理好的那一层,包括安装、数据目录和维护动作。

平台页面

Docker 服务栈脚本

汇总 Docker 上的 Nginx、MySQL、Redis、PHP 和 Workerman 安装脚本。固定版本中包含已结束支持的软件;请将这些页面用于兼容性工作,并在新部署前检查升级方案。

平台页面

CentOS 7 脚本

面向现有 CentOS Linux 7 主机的恢复脚本。CentOS Linux 7 已于 2024 年 6 月 30 日结束支持;这些脚本仅用于兼容、恢复或迁移准备,不应作为新系统基线。

专题页面

按运维场景浏览脚本

如果你更习惯按问题和场景找方案,而不是按脚本文件名找命令,可以先看这些专题页。

专题页面

CentOS 7:选择恢复任务

变更已结束支持的主机前,先区分仓库故障、SSH 访问问题和 Docker 存储压力。

专题页面

Ubuntu:准备 Docker 或 VPN 接入

区分主机安装、客户端接入和已有 Docker 服务,不把旧应用镜像作为新栈默认选择。

专题页面

Docker 服务:检查接口和保留状态

按协议、数据目录和替换影响区分 HTTP、SQL、缓存、FastCGI 或镜像内应用。

专题页面

OpenVPN:区分隧道、路由和 DNS 故障

选择对应发行版客户端,变更 DNS 钩子前检查解析器管理权。

专题页面

旧 PHP:区分运行时兼容性和应用就绪

PHP 7.2/Workerman 3.5.24 示例用于有升级计划的遗留兼容工作。

问题页面

直接进入常见问题落地页

如果用户是从问题描述开始,而不是从脚本名开始,可以先看这些页面。

问题页面

CentOS 7 yum 404:先检查故障仓库

重写 repo 文件前,区分归档 CentOS 镜像、第三方 URL、DNS、TLS 或网络故障。

问题页面

OpenVPN 已连接但内部 DNS 失败

改文件或重启隧道前,先检查已配置钩子和活动解析器管理器。

问题页面

Workerman 显示完成但 HTTP 就绪检查失败

再次替换容器前,区分构建、容器启动、curl 探针与业务验证。

问题页面

为什么重建 MySQL 5.7 容器后旧密码仍然有效

安装脚本重建 mysql57 时会继续挂载 /data/mysql5.7/data。MySQL 只会在数据目录为空时初始化账号,因此已有数据库不会因安装变量变化而重置凭据。

问题页面

为什么 CentOS 7 的 SSH 登录很慢

最常见的根因是反向 DNS 解析、GSSAPI 认证协商,以及部分老环境里的 IPv6 回退。先把这些等待关掉,再做更深的 SSH 排查。

问题页面

为什么在 CentOS 上关闭 SSH 密码登录后就连不上了

最常见的原因是先关闭了 PasswordAuthentication,却没有先确认目标账号已经存在可用的 authorized_keys,并且没有先做一次成功的密钥登录验证。