Linux 服务器环境搭建实战:从裸机到可用生产环境(含自动化脚本)
文件目录:
一、前言
二、环境说明
三、系统初始化配置
3.1 更新系统与基础工具
3.2 创建运维用户并配置 sudo
3.3 SSH 安全加固(关键)
四、防火墙与系统基础配置
4.1 防火墙配置(UFW)
4.2 时间同步
五、Docker 运行环境搭建(核心)
5.1 安装 Docker
5.2 Docker 用户权限配置
5.3 Docker 常用基础配置
六、目录规划与规范(体现工程经验)
七、一键初始化脚本示例(加分项)
7.1 脚本结构
7.2 示例(init.sh)
八、常见问题与排错思路
1. Docker 启动失败
2. SSH 无法连接
3. 容器无法访问外网
九、总结
一、前言
在实际工作和副业接单中,经常会遇到这样的问题:
-
新服务器到手,不知道从哪一步开始配置
-
系统能用,但安全性和规范性不足
-
软件装了一堆,但后期维护困难
本文将以 一台全新 Linux 服务器 为例,整理一套 可复用、可自动化、偏生产环境 的 Linux 环境搭建方案,适用于:
-
新服务器上线
-
测试 / 生产环境初始化
-
Docker / 容器环境基础准备
二、环境说明
操作系统:Ubuntu 22.04 LTS
部署方式:云服务器 / 物理机
用途:Docker / Web / 运维测试环境
权限:root
说明:不同发行版命令略有差异,但整体思路通用。
三、系统初始化配置
3.1 更新系统与基础工具
apt update && apt upgrade -y
apt install -y vim curl wget net-tools lsof htop unzip
目的:
-
保证系统安全补丁最新
-
提供基础排错与管理工具
3.2 创建运维用户并配置 sudo
useradd -m devops
passwd devops
usermod -aG sudo devops
验证:
su - devops
sudo ls /
生产环境建议:
-
禁止长期使用 root 直接操作
-
所有运维操作可审计
3.3 SSH 安全加固(关键)
编辑 SSH 配置:
vim /etc/ssh/sshd_config
推荐修改项:
Port 2222
PermitRootLogin no
PasswordAuthentication yes
重启 SSH:
systemctl restart ssh
修改端口前,确保当前会话未断开
四、防火墙与系统基础配置
4.1 防火墙配置(UFW)
apt install -y ufw
ufw allow 2222/tcp
ufw allow 80
ufw allow 443
ufw enable
ufw status
4.2 时间同步
apt install -y chrony
systemctl enable chrony
systemctl start chrony
chronyc sources
五、Docker 运行环境搭建(核心)
5.1 安装 Docker
curl -fsSL https://get.docker.com | bash
启动并设置开机自启:
systemctl start docker
systemctl enable docker
验证:
docker version
5.2 Docker 用户权限配置
usermod -aG docker devops
newgrp docker
验证:
docker ps
5.3 Docker 常用基础配置
mkdir -p /etc/docker
vim /etc/docker/daemon.json
示例:
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
重启 Docker:
systemctl restart docker
六、目录规划与规范(体现工程经验)
推荐目录结构:
/data
├── docker
│ ├── mysql
│ ├── redis
│ └── app
├── logs
│ ├── nginx
│ └── app
└── backup
好处:
-
数据与系统解耦
-
便于迁移和备份
-
多项目共存不混乱
七、一键初始化脚本示例(加分项)
7.1 脚本结构
init.sh
├── base.sh
├── security.sh
└── docker.sh
7.2 示例(init.sh)
#!/bin/bash
echo ">>> 初始化基础环境"
bash base.sh
echo ">>> 安全加固"
bash security.sh
echo ">>> 安装 Docker"
bash docker.sh
echo ">>> 初始化完成"
通过脚本化,可以快速复用到多台服务器,适合企业和外包场景。
八、常见问题与排错思路
Docker 启动失败
-
检查端口占用
-
查看日志:
journalctl -u docker
SSH 无法连接
-
防火墙是否放行
-
端口是否正确
-
SSH 服务状态
容器无法访问外网
-
DNS 配置
-
防火墙策略
-
Docker 网络模式
九、总结
本文整理了一套 从 0 到可用生产环境的 Linux 服务器搭建方案,涵盖:
-
系统初始化
-
安全加固
-
Docker 运行环境
-
目录与工程规范
-
自动化脚本思路
该方案适用于 新服务器部署、测试环境初始化以及企业级基础环境搭建。
如果你在 Linux / Docker 环境搭建、服务器初始化或排错方面有需求,欢迎在评论区交流。







