架设Linux服务器是企业级应用和个人项目中常见的需求,其稳定性、安全性和灵活性使其成为众多开发者和运维人员的首选,本文将详细介绍从准备工作到服务器配置、安全加固及服务部署的完整流程,帮助读者顺利完成Linux服务器的架设。

准备工作
在开始架设服务器前,需明确服务器用途(如Web服务、数据库、文件共享等)并选择合适的Linux发行版,对于新手,Ubuntu Server或CentOS Stream是较为友好的选择,前者拥有丰富的社区支持,后者则更接近企业级环境,硬件方面,建议根据负载选择配置:CPU核心数、内存容量(至少2GB)、存储类型(SSD优先)及网络带宽,确保服务器所在网络环境具备静态IP地址或配置DHCP保留,避免因IP变动导致服务中断。
系统安装与基础配置
-
安装系统
通过官方ISO镜像制作启动U盘,进入BIOS设置启动顺序,选择“Install Linux”开始安装,过程中需注意分区规划:建议单独划分/boot(512MB)、/(根分区,剩余空间的70%-80%)、/home(用户数据,20%-30%),若部署数据库服务可额外分配独立分区,设置root密码并创建普通用户,避免直接使用root账户日常操作。 -
网络配置
安装完成后,编辑/etc/netplan/目录下的配置文件(如01-network-manager-all.yaml),配置静态IP: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]执行
sudo netplan apply使配置生效,并通过ip a验证网络连通性。
-
系统更新
运行sudo apt update && sudo apt upgrade -y(Ubuntu)或sudo dnf update -y(CentOS)安装最新安全补丁和软件包,确保系统基础安全。
安全加固
-
防火墙配置
使用ufw(Ubuntu)或firewalld(CentOS)限制不必要的端口访问,仅开放SSH(22端口)和HTTP(80端口):sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw enable
-
SSH安全优化
编辑/etc/ssh/sshd_config,修改默认端口(如2222)、禁用root登录(PermitRootLogin no)、启用密钥认证(PasswordAuthentication no),重启SSH服务:sudo systemctl restart sshd。 -
安装 fail2ban
防止暴力破解攻击:sudo apt install fail2ban -y,配置/etc/fail2ban/jail.local,设置SSH监禁规则(如最大尝试次数5次,封禁时间10分钟)。
服务部署
以架设Nginx Web服务器为例:
- 安装Nginx:
sudo apt install nginx -y - 启动并设置开机自启:
sudo systemctl enable --now nginx - 配置虚拟主机:在
/etc/nginx/sites-available/创建新配置文件,定义监听端口、根目录(如/var/www/html)和域名,创建软链接至sites-enabled目录。 - 测试配置并重载:
sudo nginx -t && sudo systemctl reload nginx - 验证服务:浏览器访问服务器IP,查看Nginx欢迎页面。
监控与维护
- 安装监控工具
使用htop监控实时资源占用,nethogs跟踪进程流量,或部署Zabbix/Grafana实现可视化监控。 - 定期备份
通过rsync或tar备份关键数据(如配置文件、用户目录),结合cron任务实现自动化备份:0 2 * * * tar -czf /backup/server_$(date +%F).tar.gz /etc/nginx /var/www/html
- 日志管理
配置logrotate自动切割和清理日志,避免磁盘空间耗尽。
相关问答FAQs
Q1: 如何远程连接Linux服务器?
A1: 使用SSH协议连接,命令格式为ssh username@服务器IP,首次连接需确认主机密钥,后续可配置SSH密钥对实现免密登录(通过ssh-keygen生成密钥,将公钥复制至服务器~/.ssh/authorized_keys)。
Q2: 服务器如何设置时区?
A2: 执行sudo timedatectl set-timezone Asia/Shanghai设置时区,并验证timedatectl status,若系统未同步时间,可安装ntp服务:sudo apt install ntp -y并启动sudo systemctl enable --now ntp。