凌峰创科服务平台

Linux服务器架设指南第2版如何快速上手?

《Linux服务器架设指南(第2版》

前言:欢迎来到现代化的服务器世界

Linux服务器架设指南第2版如何快速上手?-图1
(图片来源网络,侵删)

第2版的指南不再仅仅关注“如何安装”,而是更加强调“如何安全、高效、可扩展地构建和管理一个现代化的服务器环境”,我们将以当前主流的 Ubuntu Server 22.04 LTS 为主要示例操作系统,同时兼顾 CentOS Stream / Rocky Linux 9 的用户,本指南将贯穿 DevOps 的最佳实践,包括命令行操作、自动化配置、容器化部署和监控告警。


第一部分:基础准备与环境搭建

第一章:选择与安装 Linux 发行版

  1. 主流发行版选择

    • Ubuntu Server (推荐初学者):社区活跃、文档丰富、软件包更新快、默认使用现代化的 systemdNetplan 网络配置,LTS (长期支持) 版本提供5年的免费安全维护。
    • Rocky Linux / CentOS Stream / AlmaLinux:由 Red Hat Enterprise Linux (RHEL) 源代码构建,在企业环境中应用广泛,稳定性极高,适合需要长期稳定支持的生产环境。
    • Debian:以其稳定性和“自由软件”理念著称,是许多其他发行版(包括Ubuntu)的基础。
  2. 准备工作

    • 硬件:一台物理机或虚拟机(推荐至少 2核CPU, 4GB RAM, 40GB 硬盘)。
    • 网络:确保服务器能连接到互联网,并获取一个静态 IP 地址。
    • 安装介质:从官网下载对应发行版的 ISO 镜像文件,并制作可启动的 U 盘。
  3. 安装步骤 (以 Ubuntu Server 为例)

    Linux服务器架设指南第2版如何快速上手?-图2
    (图片来源网络,侵删)
    • 启动与语言选择:从 U 盘启动,选择安装语言和键盘布局。
    • 网络配置:配置静态 IP 地址(Netplan 配置文件),这是服务器管理的基石。
    • 磁盘分区
      • 新手推荐:使用“整个磁盘 LVM”选项,LVM (逻辑卷管理) 提供了极大的灵活性,方便未来扩容。
      • 自定义分区:为 /boot, , /home, /var, swap 等分区设置合适的文件系统(如 ext4)。
    • 用户与安全
      • 创建一个非 root 的管理员用户(deploy),并为其设置强密码。
      • 安装 OpenSSH 服务器,以便后续通过远程管理。
      • 关键一步:在安装过程中,系统会询问是否允许“root”用户通过 SSH 登录。务必选择“否”,这是服务器的第一道安全防线。
  4. 首次登录与系统更新

    # 使用你创建的用户登录
    ssh deploy@your_server_ip
    # 切换到 root 用户(后续操作需要)
    sudo su -
    # 更新所有软件包到最新版本
    apt update && apt upgrade -y

第二部分:核心服务架设

第二章:安全加固 (Security Hardening)

在部署任何服务之前,必须先加固服务器。

  1. 配置防火墙 (UFW / Firewalld)

    • Ubuntu (UFW - Uncomplicated Firewall):

      Linux服务器架设指南第2版如何快速上手?-图3
      (图片来源网络,侵删)
      # 允许 SSH 连接 (必须先做!)
      sudo ufw allow OpenSSH
      # 允许 HTTP (80) 和 HTTPS (443) 端口
      sudo ufw allow 'Nginx Full' # 或 sudo ufw allow 80/tcp && sudo ufw allow 443/tcp
      # 启用防火墙
      sudo ufw enable
    • CentOS (Firewalld):

      sudo firewall-cmd --permanent --add-service=ssh
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --reload
  2. 禁用 root 登录与使用密钥

    • 编辑 SSH 配置文件:
      sudo nano /etc/ssh/sshd_config
    • 确保以下配置项:
      PermitRootLogin no
      PasswordAuthentication no  # 强制使用 SSH 密钥
      PubkeyAuthentication yes
    • 重启 SSH 服务:
      sudo systemctl restart sshd
  3. 定期更新系统

    • 设置 unattended-upgrades (Ubuntu) 或 yum-cron (CentOS) 实现安全补丁的自动安装。

第三章:Web 服务器 (Nginx)

Nginx 以其高性能、稳定性和低资源消耗而闻名。

  1. 安装 Nginx

    sudo apt install nginx -y
  2. 配置虚拟主机

    • 创建一个配置文件,/etc/nginx/sites-available/mywebsite

      server {
      listen 80;
      server_name your_domain.com www.your_domain.com;
      root /var/www/mywebsite/html;
      index index.html index.htm;
      location / {
          try_files $uri $uri/ =404;
      }
      }
  3. 启用站点并测试

    # 创建网站根目录
    sudo mkdir -p /var/www/mywebsite/html
    echo "Hello from Nginx!" | sudo tee /var/www/mywebsite/html/index.html
    # 启用站点
    sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/
    # 测试配置并重载
    sudo nginx -t
    sudo systemctl reload nginx

第四章:数据库服务 (MySQL / MariaDB)

选择 MariaDB (MySQL 的一个分支),它是大多数 Linux 发行版的默认数据库。

  1. 安装 MariaDB

    sudo apt install mariadb-server -y
  2. 安全初始化

    sudo mysql_secure_installation

    按照提示设置 root 密码,移除匿名用户,禁止 root 远程登录,移除测试数据库,并重新加载权限表。

  3. 创建数据库和用户

    # 登录数据库
    sudo mysql
    -- 在 MariaDB shell 中执行
    CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'a_very_strong_password';
    GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

第五章:后端服务 (PHP-FPM)

如果你的网站需要 PHP 支持(如 WordPress, Laravel),可以使用 PHP-FPM。

  1. 安装 PHP-FPM 及常用扩展

    sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
  2. 配置 Nginx 处理 PHP

    • 修改你的 Nginx 虚拟主机配置文件 (/etc/nginx/sites-available/mywebsite),添加以下 location 块:
      location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 版本号可能不同
      }
    • 重载 Nginx:
      sudo systemctl reload nginx

第六章:版本控制与自动化部署

  1. 安装 Git

    sudo apt install git -y
  2. 部署网站代码

    • 在你的服务器上创建一个部署用户(git),并将其加入 www-data 组(Nginx 运行用户)。
      sudo useradd -m -s /bin/bash -G www-data git
      sudo passwd git
    • 将你的网站代码通过 Git 推送到服务器上的一个目录(/var/www/mywebsite)。

第七章:容器化部署 (Docker)

这是第2版的重点,引入现代化的部署方式。

  1. 安装 Docker

    # 官方推荐的安装脚本
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    sudo usermod -aG docker $USER # 将当前用户加入 docker 组
    newgrp docker # 激活组权限
  2. 使用 Docker 部署应用 (示例:WordPress)

    • 创建 docker-compose.yml 文件:
      version: '3.8'

    services: db: image: mysql:5.7 volumes:

    • db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress

    wordpress: depends_on:

    • db image: wordpress:latest ports:
    • "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes:
    • ./wp-content:/var/www/html/wp-content

    volumes: db_data:

    *   启动服务:
        ```bash
        docker-compose up -d
    • 访问 http://your_server_ip:8000 即可完成 WordPress 安装。

第三部分:进阶与运维

第八章:监控与日志

  1. 监控 (Prometheus + Grafana)

    • Prometheus:用于收集和存储时间序列数据。
    • Node Exporter:在服务器上运行,暴露硬件和操作系统指标。
    • Grafana:用于可视化 Prometheus 中的数据,创建美观的仪表盘。
  2. 日志管理 (ELK Stack / EFK Stack)

    • Elasticsearch:搜索引擎,用于存储和搜索日志。
    • Logstash:数据处理管道,用于收集、过滤和转换日志。
    • Kibana:用于可视化和探索 Elasticsearch 中的日志数据。
    • Filebeat:轻量级日志收集器,替代 Logstash 的一部分功能。

第九章:备份策略

  1. 重要原则:定期备份,并定期测试恢复!
  2. 备份工具
    • rsync:用于文件系统的增量备份,灵活高效。
    • tar:用于打包整个目录或系统。
    • mysqldump:用于备份数据库。
  3. 自动化备份脚本:编写一个 Shell 脚本,结合 cron 定时任务,实现自动化备份。
    # 示例:每天凌晨2点备份 /var/www 目录到 /backup
    0 2 * * * /usr/bin/rsync -avz --delete /var/www/ /backup/www/

第十章:持续集成/持续部署 (CI/CD) 简介

  • 工具:GitLab CI/CD, Jenkins, GitHub Actions。
  • 流程:当代码推送到 Git 仓库的特定分支(如 mainmaster)时,CI/CD 流水线自动触发,执行代码检查、单元测试、构建 Docker 镜像、并部署到服务器上,实现应用的快速迭代和交付。

这份第2版的《Linux服务器架设指南》为你提供了一个从零开始构建现代化、安全、可扩展服务器的完整路径。

核心要点回顾:

  1. 安全第一:防火墙、禁用 root、使用密钥。
  2. 基础扎实:稳定的网络配置和系统更新。
  3. 服务核心:Nginx + 数据库 + 应用程序。
  4. 拥抱现代化:学习并使用 Docker 进行容器化部署。
  5. 运维保障:完善的监控、日志和备份体系。

服务器架设是一个持续学习和实践的过程,希望这份指南能成为你手中的一张地图,助你在 Linux 的世界里探索和前行。

分享:
扫描分享到社交APP
上一篇
下一篇