零基础如何快速搭建Linux服务器?

设置Linux服务器是构建稳定、高效网络服务的基础,本指南以Ubuntu Server 22.04 LTS为例(适用于大多数主流场景),结合安全性与实用性,逐步讲解操作流程,所有步骤均通过终端命令实现,需SSH或物理访问权限。


准备工作

  1. 选择Linux发行版
    • 推荐:Ubuntu Server(易用性强,社区支持完善)或CentOS Stream(企业级稳定性)。
    • 下载ISO镜像:从Ubuntu官网获取。
  2. 硬件要求

    最低配置:1核CPU、1GB内存、10GB存储(生产环境建议2核+、4GB内存、SSD存储)。

  3. 安装介质
    • 制作启动U盘:使用Rufus(Windows)或dd命令(Linux):
      dd if=ubuntu-22.04-server.iso of=/dev/sdX bs=4M status=progress  
    • 服务器上插入U盘,从BIOS/UEFI设置U盘启动。

安装Linux操作系统

  1. 启动安装程序
    • 选择语言 → 网络配置(设置静态IP更稳定)→ 磁盘分区:
      • 新手:使用Guided - use entire disk(自动分区)。
      • 高级用户:手动分区(建议分配/boot、、swap/home)。
  2. 关键配置
    • 设置主机名(如server01)→ 创建管理员用户(避免使用root直接登录)。
    • 安装OpenSSH Server(勾选选项,便于远程管理)。
  3. 完成安装

    重启后登录新创建的用户账户。


初始系统设置

  1. 更新系统与内核
    sudo apt update && sudo apt upgrade -y  
    sudo apt install --install-recommends linux-generic-hwe-22.04  
  2. 创建新用户并授权
    sudo adduser deploy  # 创建用户  
    sudo usermod -aG sudo deploy  # 加入sudo组  
  3. 配置防火墙(UFW)
    sudo ufw allow OpenSSH  # 允许SSH  
    sudo ufw allow 80/tcp   # 开放HTTP端口  
    sudo ufw allow 443/tcp  # 开放HTTPS端口  
    sudo ufw enable         # 启用防火墙  

安全加固(关键步骤)

  1. 禁用Root登录
    编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config  

    修改以下参数:

    PermitRootLogin no  
    PasswordAuthentication no  # 强制使用密钥登录  

    重启服务:sudo systemctl restart sshd

  2. 设置SSH密钥登录
    • 本地生成密钥:ssh-keygen -t ed25519
    • 上传公钥到服务器:
      ssh-copy-id deploy@your_server_ip  
  3. 安装Fail2ban(防暴力破解)
    sudo apt install fail2ban  
    sudo systemctl enable fail2ban  

安装基础服务

  1. Web服务器(Nginx为例)
    sudo apt install nginx  
    sudo systemctl start nginx  

    验证:浏览器访问http://服务器IP,显示Nginx欢迎页。

  2. 数据库(MySQL)
    sudo apt install mysql-server  
    sudo mysql_secure_installation  # 运行安全脚本  
  3. 部署应用环境
    • PHP支持:sudo apt install php-fpm php-mysql
    • Python环境:sudo apt install python3-venv

备份与监控

  1. 自动备份(使用cron)
    创建备份脚本/backup.sh

    tar -czf /backups/web-$(date +%F).tar.gz /var/www/html  

    添加定时任务:

    crontab -e  
    # 每天凌晨2点执行  
    0 2 * * * /bin/bash /backup.sh  
  2. 系统监控(NetData)
    bash <(curl -Ss https://my-netdata.io/kickstart.sh)  

    访问http://服务器IP:19999查看实时监控面板。


维护最佳实践

  1. 定期更新
    sudo apt update && sudo apt upgrade -y  
    sudo apt autoremove  # 清理旧内核  
  2. 日志审查
    • 检查登录记录:grep 'Failed password' /var/log/auth.log
    • 使用logwatch生成日报:sudo apt install logwatch
  3. 资源优化
    • 监控负载:htop
    • 调整服务:禁用未使用的服务(如sudo systemctl disable apache2)。

设置Linux服务器需平衡安全、性能与易用性,完成上述步骤后,您将获得一个生产级可用的基础环境。重要提示:

  • 所有敏感操作前备份数据(rsyncscp)。
  • 修改配置后务必测试(如sudo nginx -t验证Nginx配置)。
  • 复杂场景建议使用配置管理工具(Ansible/Puppet)。

引用说明

  • Ubuntu官方文档:Ubuntu Server Guide
  • Linux安全基线:CIS Benchmarks
  • 网络服务配置:Nginx官方文档
  • 监控工具参考:NetData文档

通过遵循本指南,您将建立符合E-A-T原则(专业性、权威性、可信度)的服务器环境,为后续应用部署奠定坚实基础,遇到问题可查阅man手册(如man sshd_config)或社区论坛(如Server Fault)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6413.html

(0)
酷番叔酷番叔
上一篇 2025年7月6日 08:34
下一篇 2025年7月6日 08:58

相关推荐

  • 为何锁定频发?常见原因揭秘

    在Linux系统中,用户账户可能因多次输入错误密码、管理员手动锁定或安全策略生效而被锁定,解锁用户是系统管理中的常见操作,以下是专业且安全的解锁方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等):连续输入错误密码(PAM模块触发),管理员执行了锁定命令(如 usermod -L……

    2025年6月17日
    3800
  • Linux系统如何使用mp4v2库?操作步骤与方法详解

    mp4v2库是一个广泛使用的开源C++库,专门用于处理MP4(MPEG-4 Part 14)格式的媒体文件,支持创建、修改、读取和解析MP4文件,包括添加/删除轨道、设置元数据(如标题、艺术家)、处理音视频轨道等功能,在Linux系统中,通过mp4v2库可以高效地实现MP4文件的底层操作,常用于媒体处理工具的开……

    2025年8月23日
    1500
  • 如何快速创建测试文件?

    在Linux系统中正确显示UTF-8编码是确保多语言文本(如中文、日文、特殊符号)正常呈现的关键,以下是详细操作指南:检查当前系统编码环境查看系统默认编码终端执行:echo $LANGlocale若输出含 en_US.UTF-8 或 zh_CN.UTF-8 表示UTF-8已启用,若为其他编码(如ISO-8859……

    2025年6月22日
    3300
  • Linux休眠设置如何省电护硬件?

    理解Linux休眠模式挂起(Suspend)挂起到内存(STR):数据保存于内存,恢复快,耗电低(约1-5W),挂起到磁盘(Hibernate):数据写入硬盘(swap分区),完全断电,恢复较慢,混合休眠(Hybrid-Sleep):同时保存到内存和磁盘,断电不丢数据,关键概念systemd:现代Linux(U……

    2025年6月18日
    3800
  • 如何在/etc/fstab中添加新行?

    在Linux系统中挂载CD/DVD光盘是一个基础且实用的操作,无论您是备份数据、安装软件还是读取媒体内容,都需要掌握此技能,以下是详细步骤及注意事项,遵循Linux最佳实践,确保操作安全可靠,挂载前的准备工作确认CD驱动器状态插入光盘后,执行以下命令检查设备是否被识别:lsblk输出示例(通常CD设备名为 sr……

    2025年7月24日
    1900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信