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 环境搭建、服务器初始化或排错方面有需求,欢迎在评论区交流。

相关推荐
郝学胜-神的一滴11 分钟前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
昪彧翀忞21 分钟前
dhcp小实验
linux·服务器·网络
bukeyiwanshui28 分钟前
20260407系统间复制文档
linux
守城小轩33 分钟前
Chromium 145 编译指南 Windows篇:获取源代码(五)
自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
北京耐用通信1 小时前
工业自动化领域耐中达讯自动化CC-Link IE转EtherCAT技术解决方案
人工智能·物联网·网络协议·自动化·信息与通信
23.1 小时前
【Linux】grep -F 及 双横线--的妙用
linux·命令模式
橙露1 小时前
Linux 驱动入门:字符设备驱动框架与编写流程
linux·运维·服务器
hong1616882 小时前
TypeScript类型断言
linux·javascript·typescript
星马梦缘2 小时前
运动控制系统(三)-转速闭环直流调速系统
自动化·电机·自动控制·闭环系统
wzl202612132 小时前
企微私域工具免费版vs付费版:数据统计API差异与自动化报表脚本实现
大数据·自动化·企业微信