如何搭建Linux服务器?新手入门详细步骤

在搭建Linux服务器时,需从硬件选型、系统安装、基础配置、安全加固到服务部署逐步推进,确保服务器稳定、安全且满足业务需求,以下是详细步骤

如何做一个linux服务器

硬件选型与准备

硬件配置需根据服务器用途(如Web服务、数据库、文件存储等)合理规划,核心参数包括CPU、内存、存储、网络及冗余设计。

用途 CPU核心数 内存容量 存储类型 网络带宽 冗余设计
入门级Web服务 2-4核 8-16GB 256GB SSD + 1TB HDD 1Gbps 单电源,无RAID
中小型数据库 4-8核 16-32GB 512GB SSD RAID 1 10Gbps 双电源,RAID 1/10
企业级文件存储 8-16核 32-64GB 4TB HDD RAID 5/6 25Gbps 双电源,冗余网卡,UPS

注意事项:优先选择服务器级硬件(如戴尔R系列、惠普ProLiant),支持IPMI远程管理;存储根据性能需求选择SSD(系统盘)或HDD(数据盘),RAID可提升数据可靠性。

操作系统安装

选择发行版

  • 入门/开发:Ubuntu Server(社区活跃,文档丰富)
  • 企业级:CentOS Stream/RHEL(稳定,长期支持)
  • 轻量级:Debian(资源占用低)

安装步骤

  • 制作启动盘:使用Rufus(Windows)或dd(Linux)将ISO写入U盘,设置BIOS从U盘启动。
  • 分区规划
    • /boot:500MB(EXT4,引导分区)
    • 20-50GB(EXT4/XFS,系统分区)
    • /data:剩余空间(XFS/EXT4,数据分区,建议独立磁盘)
    • swap:内存的1-2倍(若内存≥32GB,可设置为16GB或关闭)
  • 网络配置:选择静态IP(避免DHCP动态分配冲突),设置DNS(如8.8.8.8、114.114.114.114)。
  • 用户设置:创建管理员用户(禁用root远程登录),设置强密码。

基础系统配置

更新系统

# Ubuntu/Debian  
sudo apt update && sudo apt upgrade -y  
# CentOS/RHEL  
sudo dnf update -y  

配置网络

编辑网卡配置文件(如/etc/netplan/01-netcfg.yaml):

network:  
  version: 2  
  ethernets:  
    ens33:  
      dhcp4: no  
      addresses: [192.168.1.100/24]  
      gateway4: 192.168.1.1  
      nameservers:  
        addresses: [8.8.8.8, 114.114.114.114]  

执行netplan apply使配置生效。

配置SSH优化

编辑/etc/ssh/sshd_config

如何做一个linux服务器

  • 禁用root登录:PermitRootLogin no
  • 修改默认端口:Port 2222(避免默认22端口扫描)
  • 启用密钥登录:PubkeyAuthentication yesPasswordAuthentication no
    重启SSH服务:systemctl restart sshd

时区与时间同步

sudo timedatectl set-timezone Asia/Shanghai  
sudo apt install ntp -y  # Ubuntu/Debian  
sudo dnf install ntpdate -y  # CentOS/RHEL  
sudo ntpdate pool.ntp.org  

安全加固

防火墙配置

  • Ubuntu/Debian(ufw)
    sudo ufw default deny incoming  
    sudo ufw allow 2222/tcp  # SSH端口  
    sudo ufw allow 80/tcp    # HTTP  
    sudo ufw allow 443/tcp   # HTTPS  
    sudo ufw enable  
  • CentOS/RHEL(firewalld)
    sudo firewall-cmd --permanent --add-port=2222/tcp  
    sudo firewall-cmd --permanent --add-service=http  
    sudo firewall-cmd --permanent --add-service=https  
    sudo firewall-cmd --reload  

禁用不必要的服务

# 查看开机自启服务  
systemctl list-unit-files --state=enabled  
# 禁用不必要服务(如avahi-daemon、cups)  
sudo systemctl disable avahi-daemon  

入侵检测与日志审计

安装fail2ban防暴力破解:

sudo apt install fail2ban -y  
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local  
编辑jail.local,配置SSH封禁规则:  
[sshd]  
enabled = true  
port = 2222  
maxretry = 3  
bantime = 3600  
sudo systemctl restart fail2ban  

日志审计:通过/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)监控登录异常。

部署常用服务

以部署Nginx+MySQL为例:

安装Nginx

# Ubuntu  
sudo apt install nginx -y  
# CentOS  
sudo dnf install nginx -y  
sudo systemctl enable nginx --now  

安装MySQL

# Ubuntu  
sudo apt install mysql-server -y  
sudo mysql_secure_installation  # 安全初始化(设置root密码、匿名用户、测试数据库)  
# CentOS  
sudo dnf install mysql-server -y  
sudo systemctl enable mysqld --now  
sudo mysql_secure_installation  

配置虚拟主机

编辑Nginx配置文件/etc/nginx/sites-available/default

server {  
    listen 80;  
    server_name example.com;  
    root /var/www/html;  
    index index.html;  
    location / {  
        try_files $uri $uri/ =404;  
    }  
}  

创建测试页面:echo "Hello, Linux Server!" | sudo tee /var/www/html/index.html,重启Nginx:systemctl restart nginx

如何做一个linux服务器

维护与优化

监控工具

  • 系统监控htop(进程)、nethogs(流量)、df -h(磁盘)
  • 专业监控:Prometheus+Grafana(可视化监控)、Zabbix(企业级)

备份策略

  • 全量备份:每周完整备份(使用rsynctar
  • 增量备份:每日增量备份(rsync --link-dest
  • 异地备份:定期将备份文件同步至云存储(如阿里云OSS、AWS S3)

示例脚本(每日备份/data目录):

#!/bin/bash  
DATE=$(date +%Y%m%d)  
rsync -avz --delete /data /backup/data_$DATE  

性能优化

  • 内核参数:调整/etc/sysctl.conf(如net.ipv4.tcp_tw_reuse=1减少TIME_WAIT连接)
  • 磁盘IO:使用noatime挂载选项(/dev/sda1 /data xfs defaults,noatime 0 0
  • 内存管理:定期清理缓存(sync && echo 3 > /proc/sys/vm/drop_caches

相关问答FAQs

Q1:如何定期检查服务器安全?
A:可通过以下步骤定期检查:

  1. 系统更新:执行sudo apt update && sudo apt upgrade -y(Ubuntu)或sudo dnf update -y(CentOS),修复已知漏洞。
  2. 日志分析:使用grep "Failed password" /var/log/auth.log(Ubuntu)或grep "Failed password" /var/log/secure(CentOS)排查暴力破解尝试,结合fail2ban自动封禁IP。
  3. 端口扫描:使用nmap -sT -p- localhost检查开放端口,关闭非必要服务端口(如 Telnet(23)、FTP(21))。
  4. 权限检查:执行ls -la /etc/passwd查看系统用户,删除异常账户;使用chmod 640 /etc/shadow限制敏感文件权限。

Q2:Linux服务器性能突然下降怎么办?
A:按以下步骤排查:

  1. CPU占用:运行tophtop,找到高CPU占用进程(如%CPU列),若为异常进程(如挖矿程序),终止进程(kill -9 PID)。
  2. 内存占用:执行free -h查看内存使用,若buff/cache占用过高,可清理缓存(echo 3 > /proc/sys/vm/drop_caches);若Swap使用率高,需增加物理内存或优化应用内存泄漏。
  3. 磁盘IO:运行iostat -x 1,检查%util(磁盘使用率)和await(平均等待时间),若过高,可能存在磁盘瓶颈,可优化磁盘分区(如使用SSD)或检查大文件读写进程。
  4. 网络流量:使用nethogsiftop查看实时流量,定位异常流量(如DDoS攻击),通过防火墙封禁恶意IP(iptables -I INPUT -s 恶意IP -j DROP)。

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

(0)
酷番叔酷番叔
上一篇 2025年9月21日 05:56
下一篇 2025年9月21日 06:10

相关推荐

  • linux如何清理阿里云服务器内存

    使用命令如`sync;

    2025年8月18日
    3800
  • Linux系统如何彻底卸载OpenCV库及其依赖组件?

    在Linux系统中卸载OpenCV需要根据安装方式选择不同的方法,常见的安装方式包括通过系统包管理器(如apt、yum、dnf)安装、从源码编译安装,或通过Python包管理器(pip)安装,不同安装方式的卸载步骤差异较大,需先确认OpenCV的安装路径和依赖关系,避免误删其他软件,以下是详细的卸载流程和注意事……

    2025年9月25日
    2500
  • 如何打开HDF文件?

    HDF是一种分层数据格式,核心在于其树状结构组织数据(类似文件夹),能高效存储和管理包含元数据的大型复杂科学数据集,支持多种数据类型且跨平台兼容。

    2025年6月13日
    5300
  • Linux下如何正确加载U盘启动?

    在Linux系统中加载U盘启动通常涉及识别U盘设备、挂载文件系统以及配置启动引导等步骤,具体操作需根据使用场景(如数据访问、系统安装或救援模式)进行调整,以下是详细操作流程:识别U盘设备将U盘插入Linux主机后,系统会自动加载内核模块识别设备,但需通过命令确认设备名称(避免误操作系统分区),常用命令包括:ls……

    2025年10月5日
    1300
  • Linux下如何打开frm文件?实用方法步骤有哪些?

    在Linux系统中,打开frm文件需要先明确其类型,因为“.frm”后缀可能对应不同格式的文件,最常见的场景是MySQL数据库的表结构文件(存储表定义信息),也可能是Visual FoxPro的表文件或其他软件的配置文件,本文将以最常见的MySQL frm文件为重点,兼顾其他可能性,介绍具体打开方法,确认frm……

    2025年8月25日
    3800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信