Linux作为开源操作系统的代表,凭借其稳定性、安全性和灵活性,成为搭建服务器的首选系统之一,无论是企业级应用、个人项目还是开发测试环境,Linux服务器都能提供高效可靠的支撑,本文将详细介绍从零开始搭建Linux服务器的全流程,包括前期准备、系统安装、基础配置、服务部署及安全优化等关键环节,帮助读者快速掌握Linux服务器的搭建与管理技能。
Linux服务器的核心优势
在开始搭建前,需明确Linux相比其他系统的独特优势:
- 开源免费:无需支付授权费用,降低企业成本,同时开放源代码便于定制和优化。
- 稳定可靠:Linux内核设计成熟,可长时间运行不宕机,适合7×24小时服务场景。
- 安全性高:权限管理严格(如用户、组、文件权限分离),病毒和恶意软件攻击风险较低。
- 生态丰富:支持海量开源软件(如Web服务器Nginx、数据库MySQL、容器Docker等),满足多样化需求。
- 跨平台兼容:支持x86、ARM等多种架构,可适配物理服务器、虚拟机及云环境。
服务器搭建前的准备工作
硬件选择
根据服务用途(如Web服务、数据库、游戏服务器等)配置硬件资源:
- CPU:至少2核(推荐4核以上),Intel Xeon或AMD EPYON系列适合企业级,低功耗ARM架构适合轻量服务。
- 内存:基础服务建议4GB以上,数据库或高并发场景需8GB以上。
- 存储:SSD硬盘提升读写性能(系统盘建议50GB+,数据盘根据需求扩展),RAID阵列(如RAID 1/10)增强数据冗余。
- 网络:千兆网卡带宽,云服务器需选择弹性公网IP。
系统发行版选择
Linux发行版众多,需根据需求选择:
| 发行版 | 特点 | 适用场景 |
|————–|—————————————|—————————|
| Ubuntu Server| 图形界面友好,软件生态丰富,社区活跃 | 新手入门、中小型企业应用 |
| CentOS Stream| 企业级稳定性,RHEL兼容,长期支持 | 企业生产环境、核心业务系统|
| Debian | 极致稳定,软件包数量多,安全性高 | 服务器集群、嵌入式设备 |
| Rocky Linux | CentOS替代品,100% RHEL兼容,免费开源 | 需RHEL生态但不想付费的场景|
网络环境规划
- 静态IP配置:避免服务器重启后IP变更,影响服务访问。
- 端口开放:提前规划服务端口(如Web服务80/443、SSH服务22),并配置防火墙放行。
- 域名解析:若需通过域名访问,需提前配置DNS解析记录。
Linux系统安装步骤
以Ubuntu Server 22.04 LTS为例,详解安装流程:
- 制作启动盘:使用Rufus(Windows)或balenaEtcher(跨平台)将ISO镜像写入U盘,设置服务器BIOS从U盘启动。
- 启动安装程序:选择“Install Ubuntu Server”,语言选择“English”(避免中文编码问题),时区选“Asia/Shanghai”。
- 键盘布局:默认“English (US)”,无需修改。
- 磁盘分区:
- 自动分区:适合新手,选择“Use an entire disk”并指定硬盘。
- 手动分区:推荐自定义分区表(GPT),分区方案如下:
| 分区挂载点 | 文件系统 | 大小 | 用途说明 |
|————|———-|————|——————-|
| /boot/efi | FAT32 | 512MB | UEFI启动引导 |
| /boot | ext4 | 1GB | Linux启动文件 |
| /swap | swap | 2×内存大小 | 虚拟内存(内存≤8GB)|
| / | ext4 | 剩余空间 | 系统根目录 |
| /home | ext4 | 按需分配 | 用户数据存储 |
- 用户配置:设置服务器主机名(如web-server)、创建普通用户(避免直接使用root),并配置SSH密钥登录(可选)。
- 安装软件包:勾选“OpenSSH server”(远程管理必备)和“标准系统核心”。
- 完成安装:重启系统,使用创建的用户登录。
服务器基础配置
更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y # CentOS/Rocky Linux
配置静态IP
以Ubuntu为例,编辑/etc/netplan/01-netcfg.yaml
:
network: version: 2 ethernets: eth0: # 网卡名称,通过ip a查询 dhcp4: no addresses: [192.168.1.100/24] # 静态IP gateway4: 192.168.1.1 # 网关 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS
执行sudo netplan apply
使配置生效。
配置SSH远程登录
- 禁用root直接登录:编辑
/etc/ssh/sshd_config
,将PermitRootLogin
设为no
。 - 使用密钥认证:生成密钥对(
ssh-keygen -t rsa
),将公钥(~/.ssh/id_rsa.pub
)复制到服务器~/.ssh/authorized_keys
。 - 重启SSH服务:
sudo systemctl restart sshd
。
时区与时间同步
sudo timedatectl set-timezone Asia/Shanghai sudo apt install ntp -y # 安装时间同步服务 sudo systemctl enable ntp --now
常用服务部署
Web服务(Nginx)
sudo apt install nginx -y sudo systemctl enable nginx --now
访问服务器IP,若显示“Welcome to nginx”则安装成功,配置文件位于/etc/nginx/nginx.conf
,网站目录为/var/www/html
。
数据库服务(MySQL)
sudo apt install mysql-server -y sudo mysql_secure_installation # 安全配置(设置root密码、匿名用户等)
登录MySQL:sudo mysql -u root -p
,创建数据库和用户:
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;
文件共享(Samba)
sudo apt install samba -y sudo smbpasswd -a username # 设置Samba用户密码
编辑/etc/samba/smb.conf
,添加共享配置:
[shared] path = /home/shared valid users = username browsable = yes writable = yes
创建共享目录并重启服务:sudo mkdir /home/shared && sudo systemctl restart smbd
。
安全加固与性能优化
防火墙配置
sudo ufw enable # 开启防火墙 sudo ufw allow ssh # 允许SSH(22端口) sudo ufw allow http # 允许HTTP(80端口) sudo ufw allow https # 允许HTTPS(443端口)
禁用不必要的服务
sudo systemctl list-unit-files --state=enabled # 查看开机启动服务 sudo systemctl disable service_name # 禁用不必要服务(如avahi-daemon)
日志监控
安装logrotate
自动切割日志:
sudo apt install logrotate -y sudo nano /etc/logrotate.d/nginx # 配置Nginx日志轮转 ``` 示例: ```ini /var/log/nginx/*.log { daily missingok rotate 7 compress delaycompress notifempty create 644 www-data www-data }
性能优化
- 内核参数调优:编辑
/etc/sysctl.conf
,添加:net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 vm.swappiness = 10 # 减少swap使用
执行
sudo sysctl -p
生效。 - 磁盘IO优化:SSD开启
noatime
挂载参数,编辑/etc/fstab
,将defaults
改为defaults,noatime
。
相关问答FAQs
Q1:Linux服务器和Windows服务器有什么区别?
A1:核心区别在于系统架构、授权成本和应用场景,Linux基于开源内核,免费且高度可定制,适合Web服务、云计算等场景;Windows Server需付费授权,图形界面友好,兼容.NET生态和Active Directory,适合企业内部办公系统(如Exchange、SharePoint),Linux资源占用更低,稳定性更高,而Windows操作门槛低,适合不熟悉命令行的用户。
Q2:如何远程管理Linux服务器?
A2:主要通过SSH(Secure Shell)协议远程管理,常用工具包括:
- 命令行工具:Windows使用PuTTY或WSL,macOS/Linux使用原生终端(
ssh username@IP
)。 - 图形化工具:Xshell+Xftp(支持文件传输),MobaXterm(集成终端、文件管理、远程桌面)。
- Web管理面板:如Webmin(系统配置)、cPanel(主机管理),适合批量操作或新手简化管理。
安全建议:始终使用密钥认证替代密码,避免使用默认端口(如22),并通过防火墙限制访问IP。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31370.html