为什么选择Ubuntu服务器
Ubuntu服务器是当前互联网基础设施中常见的操作系统之一。它基于Debian,拥有稳定的软件包管理机制和长期支持(LTS)版本,适合需要持续运行的生产环境。与桌面版不同,服务器版默认不安装图形界面,节省系统资源,将更多计算能力留给业务应用。对于初学者和中小团队而言,Ubuntu服务器的文档丰富、社区活跃,遇到问题容易找到解决方案。本文将从系统安装、基础配置、安全加固和常见运维场景出发,提供一份可落地的操作参考。

系统安装与初始设置
下载与制作启动盘
从Ubuntu官网下载服务器版ISO镜像,推荐使用LTS版本(如22.04或24.04),其支持周期长达五年。使用dd命令或Rufus工具将镜像写入U盘。写入完成后,将U盘插入目标服务器,进入BIOS设置U盘为第一启动项。
安装过程中的关键选项
- 语言与键盘布局:选择英文或中文均可,但建议保持英文以减少编码问题。
- 网络配置:若使用DHCP,安装器会自动获取IP;若需静态IP,选择手动配置,填写地址、掩码、网关和DNS。
- 存储分区:新手可选择“使用整个磁盘”,并开启LVM(逻辑卷管理),便于后期扩展。生产环境建议单独挂载
/data或/var分区。 - 软件选择:默认只安装标准系统工具,不勾选“Ubuntu Server”附加包以外的选项,保持精简。
- 账户设置:创建非root用户,并设置强密码。安装过程中会提示是否导入SSH密钥,若服务器需要远程管理,可在此添加公钥。
安装完成后重启,移除安装介质,进入命令行登录界面。
基础网络与软件源配置
配置静态IP
使用netplan管理网络。编辑配置文件:
sudo nano /etc/netplan/00-installer-config.yaml
示例内容:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 114.114.114.114
应用配置:
sudo netplan apply
验证连通性:ping -c 4 网关和ping -c 4 域名。
更换软件源
国内服务器使用官方源可能较慢,可替换为阿里云或清华镜像。备份原文件后编辑:
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
对于Ubuntu 24.04,软件源格式为DEB822,需修改/etc/apt/sources.list.d/ubuntu.sources,替换其中的archive.ubuntu.com为mirrors.aliyun.com。更新索引:
sudo apt update
系统更新与基础软件安装
保持系统更新是安全的基础。执行:
sudo apt upgrade -y
安装常用基础工具:
sudo apt install -y vim git curl wget htop net-tools unzip
若需要编译软件,安装build-essential:
sudo apt install -y build-essential
SSH远程管理
服务器通常部署在机房或云端,SSH是主要管理通道。确保OpenSSH服务已安装并启用:
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
安全加固建议:
- 修改默认端口:编辑
/etc/ssh/sshd_config,将#Port 22改为例如Port 2222,然后重启服务。 - 禁止root直接登录:设置
PermitRootLogin no。 - 使用密钥认证:将本地公钥添加到
~/.ssh/authorized_keys,并设置PasswordAuthentication no。
修改后验证配置:
sudo sshd -t
sudo systemctl restart ssh
防火墙与基本安全策略
启用UFW(Uncomplicated Firewall),只放行必要端口:
sudo ufw allow 2222/tcp # SSH新端口
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
查看防火墙状态:sudo ufw status verbose。
另外,安装fail2ban来防御暴力破解:
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
其默认配置会监控SSH日志,连续失败5次后封禁IP 10分钟,可在/etc/fail2ban/jail.local中调整。
常用服务部署示例
Nginx Web服务器
sudo apt install -y nginx
sudo systemctl enable --now nginx
默认站点根目录为/var/www/html,配置文件位于/etc/nginx/sites-available/。创建新站点时,复制默认配置并修改server_name和root,然后建立软链接至sites-enabled,最后测试并重载:
sudo nginx -t
sudo systemctl reload nginx
MySQL/MariaDB数据库
sudo apt install -y mariadb-server
sudo mysql_secure_installation
该命令会引导设置root密码、移除匿名用户、禁用远程root登录。之后创建业务数据库和专用用户:
sudo mysql -u root -p
CREATE DATABASE appdb CHARACTER SET utf8mb4;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Node.js或Python应用
使用nvm安装Node.js,或直接使用apt安装python3-pip。对于长期运行的应用,建议使用pm2或systemd服务。以systemd为例,创建/etc/systemd/system/myapp.service:
[Unit]
Description=My App
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/app
ExecStart=/usr/bin/node server.js
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
日志查看与故障排查
系统日志存放于/var/log/,常用命令:
journalctl -xe查看最近系统错误。tail -f /var/log/syslog实时跟踪系统日志。tail -f /var/log/nginx/error.log查看Nginx错误。
磁盘空间不足时,使用df -h查看分区占用,du -sh *在目录下定位大文件。清理APT缓存:sudo apt clean。
备份与恢复要点
定期备份数据库和网站文件。使用mysqldump备份数据库:
mysqldump -u root -p appdb > /backup/appdb_$(date +%F).sql
同步文件到远程存储:
rsync -avz /var/www/html/ user@backup-server:/backup/www/
可编写cron脚本实现每日自动备份。恢复时,先解压备份文件,再导入数据库。
性能监控与调优方向
使用htop查看实时负载,iostat查看磁盘I/O,free -h查看内存。若发现内存不足,可考虑增加交换空间:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
并将/swapfile添加到/etc/fstab以永久生效。内核参数调整需谨慎,一般业务场景默认配置已足够。
结语
Ubuntu服务器是一个成熟、可靠的基础平台。本文覆盖了从安装到日常维护的核心环节,但真实环境会涉及更多细节,如SELinux(Ubuntu默认使用AppArmor)、容器化部署、监控告警等。建议新手先在虚拟机中反复练习安装和配置流程,再逐步迁移到生产环境。熟悉命令行的同时,养成阅读官方文档的习惯,遇到报错时先查看日志,再针对性搜索解决方案。稳定的服务器运维来自持续的学习和规范的操作。