真正的运维,不在 GUI 的点击里,而在一行行可审计、可复现的命令中。
本文记录一次完整的 Debian 13服务器初始化全过程。所有操作均基于最小化安装环境,无图形界面、无预装服务。我们将依次完成:Shell 升级 → 开发环境搭建 → Redis/MySQL/Nginx 配置 → 应用部署 → 安全加固。
每一条命令都经过验证,可直接用于你的自动化脚本或手动部署。
阶段一:Bash 初始心跳(来自 bash_history)
# 更新系统包索引
sudo apt update
# 安装基础工具链
sudo apt install -y zsh git curl wget gnupg lsb-release ca-certificates
# 切换默认 Shell 为 Zsh
chsh -s $(which zsh)
此时退出并重新登录,Shell 将自动进入 Zsh 。后续我们再覆盖它。
然后增加 github 解析
# 备份原始 hosts
sudo cp /etc/hosts /etc/hosts.bak.$(date +%Y%m%d)
# 下载并追加 GitHub520 hosts 到 /etc/hosts
sudo curl -fsSL https://raw.hellogithub.com/hosts | sudo tee -a /etc/hosts
阶段二:Zsh 精要配置
先安装 Oh My Zsh 框架:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
# 手动安装两个关键插件(Oh My Zsh 不自带)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
mkdir -p ~/.zsh && cd ~/.zsh
git clone https://github.com/catppuccin/zsh-syntax-highlighting.git
git clone https://github.com/JannoTjarks/catppuccin-zsh.git
mkdir ~/.oh-my-zsh/themes/catppuccin-flavors
ln catppuccin-zsh/catppuccin.zsh-theme ~/.oh-my-zsh/themes/
ln catppuccin-zsh/catppuccin-flavors/* ~/.oh-my-zsh/themes/catppuccin-flavors
然后替换 ~/.zshrc 为以下精简配置:
CodeBlock Loading...
至此,你拥有了一个带语法高亮、历史建议、优雅配色的高效终端。
阶段三:服务栈部署
3.1 安装 Redis
CodeBlock Loading...
3.2 安装 MySQL 8.0
CodeBlock Loading...
注意:Debian Bookworm 默认源中的 MySQL 可能版本较低。Apt有密钥错误,安装需要用编译包。
3.3 安装 PHP 8.3 + Swoole + Redis 扩展
CodeBlock Loading...
3.4 安装 compose
CodeBlock Loading...
3.5 部署应用(以 Hyperf 为例)
CodeBlock Loading...
3.6 Nginx + HTTPS(Let's Encrypt)
CodeBlock Loading...
阶段四:数据库权限收束(来自 mysql_history)
登录 MySQL:
CodeBlock Loading...
执行以下 SQL(严格按顺序):
CodeBlock Loading...
🔒 这三步是安全底线:功能授权 + 系统隔离 + 权限刷新。缺一不可。
结语:命令即契约
以上所有命令,构成了一个从零到生产就绪的完整契约。它们可被写入 Ansible Playbook、Bash 脚本,或作为灾难恢复的黄金标准。
记住:在运维的世界里,最可靠的文档,就是那条你亲手敲下、并成功执行的命令。
下次部署,不妨直接 curl -sL https://your.blog/debian-init.sh | sudo bash —— 如果你愿意把它变成脚本的话。