Linux 服务器环境搭建实战:从裸机到可用生产环境(含自动化脚本)

文件目录:

一、前言

二、环境说明

三、系统初始化配置

[3.1 更新系统与基础工具](#3.1 更新系统与基础工具)

[3.2 创建运维用户并配置 sudo](#3.2 创建运维用户并配置 sudo)

[3.3 SSH 安全加固(关键)](#3.3 SSH 安全加固(关键))

四、防火墙与系统基础配置

[4.1 防火墙配置(UFW)](#4.1 防火墙配置(UFW))

[4.2 时间同步](#4.2 时间同步)

[五、Docker 运行环境搭建(核心)](#五、Docker 运行环境搭建(核心))

[5.1 安装 Docker](#5.1 安装 Docker)

[5.2 Docker 用户权限配置](#5.2 Docker 用户权限配置)

[5.3 Docker 常用基础配置](#5.3 Docker 常用基础配置)

六、目录规划与规范(体现工程经验)

七、一键初始化脚本示例(加分项)

[7.1 脚本结构](#7.1 脚本结构)

[7.2 示例(init.sh)](#7.2 示例(init.sh))

八、常见问题与排错思路

1.[Docker 启动失败](#Docker 启动失败)

2.[SSH 无法连接](#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 环境搭建、服务器初始化或排错方面有需求,欢迎在评论区交流。

相关推荐
Sleepy MargulisItG6 分钟前
【Linux网络编程】网络层协议:IP
linux·网络·tcp/ip
叠叠乐7 分钟前
移动家庭云电脑linux docker 容器登陆移动家庭云电脑
linux·运维·docker
Volunteer Technology20 分钟前
Centos7安装python和jupyter
linux·python·jupyter
馨谙26 分钟前
Linux面试题----rpm,dnf,Application Streams,Modules软件存储库
linux·运维·服务器
wdfk_prog29 分钟前
[Linux]学习笔记系列 -- [drivers][base]core
linux·笔记·学习
tan 9131 分钟前
KaliLinux2025.4 root用户修改显示语言
linux·服务器·前端·安全
资深web全栈开发36 分钟前
高并发的本质:超越语言的协作哲学——以 Go HTTP 服务器为例
服务器·http·golang·系统设计·goroutine·高并发架构·go并发
Byte不洛40 分钟前
从除 0 到 SIGPIPE:Linux 信号的真正来源
linux
heze091 小时前
sqli-labs-Less-16自动化注入方法
mysql·网络安全·自动化
数通工程师1 小时前
进阶指南:如何利用 SecureCRT 打造“一键式”自动化数据采集方案?
运维·网络·网络协议·tcp/ip·自动化·运维开发