Ubuntu 服务器终极指南
本教程将引导你完成在服务器上安装、配置和部署 Ubuntu 的全过程,我们将使用最新的 Ubuntu Server 22.04 LTS(长期支持版)作为示例,因为它稳定且支持长达5年。

第一部分:准备工作与安装
准备工作
在开始之前,你需要准备以下几样东西:
- 一台计算机:可以是物理服务器,也可以是虚拟机。
- Ubuntu Server 镜像:从 Ubuntu 官方网站 下载最新的 ISO 文件。
- 一个可启动的 USB 驱动器:使用工具如 Rufus (Windows) 或
balenaEtcher(macOS/Linux) 将 ISO 镜像写入 U 盘。 - 网络连接:服务器需要连接到互联网。
- (可选) 一个静态 IP 地址:为你的服务器分配一个固定的内网 IP,便于管理和端口映射。
- (可选) 域名:如果你想让你的服务在公网上通过域名访问,需要购买一个域名。
安装 Ubuntu Server
将制作好的 U 盘插入服务器,从 U 盘启动,然后按照屏幕提示进行操作:
- 选择语言:选择
English或你熟悉的语言。 - 键盘布局:通常选择
No(保持默认) 或United States。 - 网络配置:
- 如果你的服务器有多个网卡,选择要激活的那个。
- 如果配置了静态 IP,现在可以设置,否则,选择
DHCP自动获取。
- 代理设置:如果没有代理,直接回车跳过。
- 镜像源配置:选择离你地理位置最近的镜像源,以加快下载速度。
- 磁盘分区:这是最关键的一步。
- 新手推荐:选择
Use an entire disk and set up LVM,这会自动帮你进行逻辑卷管理,方便未来扩展磁盘空间。 - 高级用户:选择
Manual进行自定义分区,通常建议至少创建两个分区:- (根分区):用于安装系统和软件,大小建议 20GB 以上。
swap(交换分区):作为内存的补充,大小通常为物理内存的 1-2 倍(如果内存很大,如 16GB 以上,可以设为与内存相等或略小)。
- 新手推荐:选择
- 配置用户:
- 创建一个新用户,不要直接使用
root用户,给这个用户一个强密码。 - 系统会询问你是否要允许该用户使用
sudo命令,务必选择Yes,这是普通用户获得管理员权限的标准方式。
- 创建一个新用户,不要直接使用
- 安装 OpenSSH 服务器:强烈建议勾选此项,这样你就可以在安装完成后,通过另一台电脑的 SSH 客户端连接和管理服务器,而无需一直连接键盘和显示器。
- 安装 GRUB 引导加载器:直接回车,安装在主引导记录上。
- 完成安装:根据提示,拔出 U 盘,然后重启服务器。
第二部分:基础配置与安全加固
服务器启动后,我们首先需要进行一些基础配置和安全加固。
更新系统
以你创建的用户身份登录,然后更新所有已安装的软件包到最新版本。

sudo apt update sudo apt upgrade -y
配置防火墙
UFW (Uncomplicated Firewall) 是 Ubuntu 上简单易用的防火墙工具。
-
允许 SSH 连接:这是最重要的第一步,否则你可能会把自己锁在服务器外面!
sudo ufw allow OpenSSH
-
启用防火墙:
sudo ufw enable
系统会提示你确认,输入
y并回车。
(图片来源网络,侵删) -
检查防火墙状态:
sudo ufw status
你应该能看到
OpenSSH被允许了。
配置 SSH(可选但推荐)
为了增强安全性,我们可以修改 SSH 的默认配置。
-
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
-
修改以下几项:
- 禁用 root 登录:找到
PermitRootLogin这一行,将其值改为no。PermitRootLogin no - 更改默认 SSH 端口:找到
Port 22,将其改成一个不常用的端口,2222。Port 2222 - 禁用密码登录,使用密钥(更安全):找到
PasswordAuthentication,将其值改为no。(注意:这要求你必须配置了 SSH 密钥对,否则将无法登录)PasswordAuthentication no
- 禁用 root 登录:找到
-
保存并退出:在
nano编辑器中,按Ctrl + X,然后按Y,最后按Enter。 -
重启 SSH 服务使配置生效:
sudo systemctl restart sshd
-
如果更改了端口:现在你需要使用新的端口连接你的服务器。
ssh your_username@your_server_ip -p 2222
设置时区
sudo timedatectl set-timezone Asia/Shanghai # 替换为你自己的时区
第三部分:常用服务部署
现在你的服务器已经安全且基础配置完毕,可以开始部署你想要的服务了。
部署 Web 服务器 (Nginx)
Nginx 是一个高性能的 Web 服务器和反向代理。
-
安装 Nginx:
sudo apt install nginx -y
-
启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
-
检查状态:
sudo systemctl status nginx
-
配置防火墙:允许 HTTP (80) 和 HTTPS (443) 端口。
sudo ufw allow 'Nginx Full'
-
测试:在浏览器中输入你的服务器 IP 地址,你应该能看到 Nginx 的欢迎页面。
部署 LAMP 栈 (Linux, Apache, MySQL, PHP)
这是一个经典的 Web 应用平台。
-
安装 Apache:
sudo apt install apache2 -y sudo systemctl start apache2 sudo systemctl enable apache2
-
安装 MySQL/MariaDB 数据库:
sudo apt install mariadb-server mariadb-client -y sudo systemctl start mariadb sudo systemctl enable mariadb
安全配置:运行
sudo mysql_secure_installation脚本,它会引导你设置 root 密码、移除匿名用户、禁止远程 root 登录等。 -
安装 PHP:
sudo apt install php libapache2-mod-php php-mysql -y
-
测试 PHP:创建一个 PHP 测试文件。
sudo nano /var/www/html/info.php
在文件中输入
<?php phpinfo(); ?>,保存退出,然后在浏览器中访问http://your_server_ip/info.php。
部署 Docker
Docker 是一个容器化平台,极大地简化了应用的部署和管理。
-
安装 Docker:
# 安装依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common -y # 添加 Docker 官方 GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加 Docker 仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装 Docker Engine sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y
-
将当前用户添加到 docker 组:这样你就可以使用
docker命令而无需sudo。sudo usermod -aG docker ${USER}重要:你需要注销并重新登录,或者重启服务器,这个更改才会生效。
-
测试 Docker:
docker run hello-world
如果看到 "Hello from Docker!" 的输出,说明安装成功。
第四部分:日常管理与维护
用户和权限管理
- 创建新用户:
sudo adduser new_username
- 赋予管理员权限:
sudo usermod -aG sudo new_username
- 删除用户:
sudo deluser new_username
磁盘管理
- 查看磁盘使用情况:
df -h # 查看文件系统使用情况 du -sh /path/to/directory # 查看指定目录大小
进程管理
- 查看进程:
ps aux
- 实时查看进程:
top # 或 htop (更美观,需要安装)
- 杀死进程:
sudo kill -9 <PID> # PID 是进程ID
日志查看
- 查看系统日志:
journalctl -xe
- 查看特定服务的日志(如 Nginx):
sudo tail -f /var/log/nginx/access.log # 实时查看访问日志 sudo tail -f /var/log/nginx/error.log # 实时查看错误日志
计划任务
使用 cron 来设置定时任务。
- 编辑 crontab:
crontab -e
- 添加任务:每天凌晨 2 点自动更新系统。
0 2 * * * sudo apt update && sudo apt upgrade -y格式为:
分 时 日 月 周 命令
第五部分:进阶与最佳实践
- 使用版本控制:使用 Git 来管理你的配置文件和代码。
- 配置监控:安装如
Prometheus+Grafana或Zabbix等工具来监控服务器性能。 - 配置备份:使用
rsync或专业备份工具定期备份重要数据。 - 使用配置管理工具:学习
Ansible或SaltStack,可以自动化服务器的配置和部署。 - 域名解析:在域名注册商处将你的域名指向服务器的公网 IP。
- 申请 SSL 证书:使用
Let's Encrypt和Certbot为你的网站免费配置 HTTPS。sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain.com
这份教程为你提供了一个 Ubuntu 服务器的完整操作流程,从基础的安装、安全加固,到常用服务的部署和日常管理,希望能帮助你快速上手。
服务器管理是一个持续学习和实践的过程,遇到问题时,官方文档、社区论坛(如 Ask Ubuntu)和搜索引擎都是你最好的朋友,祝你玩得开心!
