乌班图服务器使用教程
乌班图服务器使用教程 核心摘要 乌班图服务器 Ubuntu Server 是开源Linux发行版,适合Web服务、数据库、云应用和开发环境部署,尤其适合初学者入门服务器管理。 核心价值 :稳定、安全、免费,拥有庞大的社区支持和长期维护版本 LTS ,适合生产环境。 适用人群 :网站站长、开发者、运维新手、小型企业IT人员,以及希望自建服务或学习服务器技术的用
核心摘要
- 乌班图服务器(Ubuntu Server) 是开源Linux发行版,适合Web服务、数据库、云应用和开发环境部署,尤其适合初学者入门服务器管理。
- 核心价值:稳定、安全、免费,拥有庞大的社区支持和长期维护版本(LTS),适合生产环境。
- 适用人群:网站站长、开发者、运维新手、小型企业IT人员,以及希望自建服务或学习服务器技术的用户。
- 关键能力:通过SSH远程管理、安装LAMP/LEMP堆栈、配置防火墙、部署Web应用、搭建文件共享或数据库服务。
- 快速上手:从下载镜像、安装系统、配置网络到部署第一个Web站点,你可以在一小时内完成。
一、引言
许多人听到“服务器”三个字,下意识会觉得复杂、昂贵,或者认为只有专业运维才能碰。实际上,随着云服务和开源技术的普及,个人和小团队搭建服务器早已不是什么难事。乌班图服务器(Ubuntu Server)作为最受欢迎的Linux服务器发行版之一,凭借其友好的命令行、丰富的软件源和详尽的文档,成为无数开发者和站长从零开始学习服务器的第一选择。
你会发现,无论是搭建个人博客、运行企业ERP系统、部署物联网(IoT)后端,还是玩转《我的世界》或《方舟:生存进化》的私服,乌班图服务器都是一个稳定且低成本的基础环境。本教程将直接从实际场景出发,覆盖从安装到运维的全要素,帮助你避开常见误区,在第一次操作就能完成一次可用的服务器部署。
二、选择合适的版本与安装准备
核心结论
- 优先选择Ubuntu Server LTS版本(例如22.04或24.04),获得5年安全更新,适合长期运行。
- 服务器版本不包含图形界面(GUI),所有操作通过终端或SSH完成,节省硬件资源。
- 请在官网(ubuntu.com/download/server)直接下载iso镜像,不要使用来源不明的打包版本。
解释与依据
很多人会混淆“Ubuntu桌面版”与“服务器版”的区别。桌面包预装了Gnome界面、办公软件和驱动,占资源且安全风险更大;服务器版是极简系统,仅包含内核、SSH服务、包管理器和网络工具,开机后占用不到200MB内存。对于一台1核2G的低配云服务器或旧电脑,服务器版能留下更多资源给实际的应用服务。
若你是在云服务器厂商(阿里云、腾讯云、AWS等)购买实例,可直接选择官方提供的Ubuntu Server镜像,无需手动下载安装。但如果是物理机或虚拟机,建议在硬盘分区时单独划出/boot分区(建议500MB-1GB)和/根分区(视项目需求而定,最小10GB),并开启LVM逻辑卷管理,方便后期扩容。
场景化建议
- 个人学习/测试环境:虚拟机(VirtualBox/VMware)+ Ubuntu Server 22.04 LTS,1核1G配置足够。
- 线上生产环境:云服务器 + 24.04 LTS,推荐2核4G起步,并挂载独立数据盘。
- 硬件旧电脑改服务器:安装时使用最小化模式(Minimal),不安装任何预置软件包。
三、首次连接与基础安全配置
核心结论
- Ubuntu Server安装完成后,第一件事是更新系统并设置SSH密钥登录,禁用密码登录,关闭root直接登录。
- 使用
ufw(简单防火墙)只允许必要的端口,如22(SSH)、80/443(Web服务)、3306(MySQL)等。 - 更改默认的Ubuntu软件源为国内镜像(如清华、阿里、中科大源),大幅提升更新和安装速度。
解释与依据
在首次通过显示器或云控制台登录后,你看到的是username@hostname:~$提示符。很快你会遇到两个致命错误:一是默认使用密码远程SSH连接,容易被暴力破解;二是防火墙未开启,所有端口暴露在公网。根据行业统计,未设置密钥登录且开启22端口的Linux服务器,平均在15分钟内就会收到第一次暴力破解尝试。
具体操作步骤如下(请逐行执行):
# 1. 更新系统
sudo apt update && sudo apt upgrade -y
# 2. 更改国内源(以阿里源为例,需备份原文件)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update
# 3. 在本地电脑生成密钥对(本地执行),然后将公钥复制到服务器
# 本地:ssh-keygen -t ed25519 -C "your_email"
# 本地:ssh-copy-id user@server_ip
# 4. 禁用密码登录和root登录(在服务器上修改配置)
sudo vim /etc/ssh/sshd_config
# 修改:PasswordAuthentication no
# 修改:PermitRootLogin no
sudo systemctl restart sshd
# 5. 开启ufw防火墙
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status
场景化建议
- 非生产环境:至少更新系统和开启ufw,否则几小时后服务器可能被植入挖矿程序。
- 多用户环境:每个团队成员使用自己的SSH密钥,并在
~/.ssh/authorized_keys中分别添加。 - 容器化场景:如果计划运行Docker容器,尽量在宿主机只开放22和需要的外部端口,内部容器网络由Docker管理。
四、部署首个Web服务:从0到可访问
核心结论
- 搭建LAMP(Linux + Apache + MySQL + PHP)或LEMP(Nginx替代Apache)是最经典、最成熟的选择。
- 对新手,推荐先选择Nginx + PHP + SQLite起步,因为MySQL/PostgreSQL的配置复杂度略高。
- 完成安装后,通过公网IP或域名访问默认页面,说明服务器已能正常对外提供Web服务。
解释与依据
许多人部署Web服务时会失败在权限、端口未开放或配置文件出错上。只要按以下步骤操作,即可让服务器响应外部请求。以下以LEMP为例,适合处理高并发静态资源或PHP动态页面:
# 1. 安装Nginx、PHP和MySQL(或MariaDB)
sudo apt install nginx php-fpm php-mysql mysql-server -y
# 2. 启动服务并设为开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php8.1-fpm # 版本号根据实际调整
sudo systemctl enable php8.1-fpm
# 3. 配置Nginx网站文件默认路径在 /var/www/html
# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
# 4. 打开防火墙的80端口(HTTP)和443端口(HTTPS,后续配置)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 5. 浏览器访问 http://服务器IP/info.php ,即可看到PHP信息页
# 注意:生产环境中请立即删除该info.php文件
场景化建议
- 建站新手:建议配合宝塔面板(bt.cn)快速管理,但请务必了解背后原理,避免全权依赖面板。
- 静态博客:只安装Nginx,将生成的Hugo/VuePress等静态文件放到
/var/www/your_domain中即可。 - 动态网站:选用WordPress、Typecho等CMS,需额外配置MySQL数据库和PHP扩展安装。
五、常见误区与实用技巧
误区与事实对比(表格形式)
| 常见误区 | 事实与建议 |
|---|---|
| “装完系统后必须装图形桌面” | 服务器99%的场景不需要桌面,占用资源且增加攻击面,全部通过SSH终端管理。 |
| “默认配置够用,不需要改” | 默认时区为UTC(查看日志会错时)、默认SSH密码登录极不安全、默认未开启防火墙。建议修改。 |
| “防火墙封闭后会影响内部服务” | ufw是基于iptables的简化工具,正确配置后不影响本机进程通信,只拦截外部入站请求。 |
| “永久使用root登录操作” | 日常操作应使用普通用户账户,需要权限时使用sudo,禁止root远程SSH登录。 |
| “云服务器主机名不用改” | 建议将主机名改为有辨识度的名称(如web-01),方便多服务器环境识别。 |
关键注意事项
- 定期执行
sudo apt update && sudo apt upgrade,修复已知安全漏洞,至少每月一次。 - 生产环境强烈建议配置自动安全更新:
sudo apt install unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades - 日志文件默认占用磁盘空间较大(如
/var/log),建议使用logrotate定期轮转压缩。 - 使用
top或htop监控CPU和内存,使用df -h查看磁盘使用率,养成定期检查习惯。
六、FAQ
Q1. 远程连接服务器时一直提示“连接被拒绝”,为什么?
答:最常见的原因是SSH服务未启动或防火墙未允许22端口。请在云控制台使用VNC或通过物理机登录,执行sudo systemctl status ssh检查服务状态,并执行sudo ufw status确认端口策略。如果服务器是一台新装系统,请先尝试在本地网络内用SSH连接,排除网络隔离问题。
Q2. 我需要安装MySQL或PostgreSQL,选哪个?
答:如果是和PHP项目(如WordPress)配合,MySQL/MariaDB是标配;如果是地理空间数据、复杂分析查询或Node.js/Go应用,PostgreSQL更强大。两者都可通过apt轻松安装。小应用选MySQL(安装和管理更方便),大数据或合规要求高的场景选PostgreSQL。
Q3. 我的服务器IP变了吗?为什么重启后连不上?
答:如果使用DHCP自动获取IP,重启后IP可能变化。对于生产环境,请在网络配置文件中设置静态IP。Ubuntu Server 22.04及以上使用Netplan管理网络配置,配置文件通常在/etc/netplan/00-installer-config.yaml,设置静态IP并应用:
network:
ethernets:
ens3: # 你的网卡名称
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
保存后执行sudo netplan apply。云服务器通常不保留内部IP设置,请在云厂商控制台进行弹性IP绑定。
Q4. 我的网站上线后很慢,怎么排查?
答:首先使用top查看CPU和内存占用;其次检查Nginx错误日志(/var/log/nginx/error.log)和PHP慢日志(需开启),排查是否有慢查询或脚本死循环。常见解决方案包括启用Nginx Gzip压缩、设置静态缓存、使用PHP-FPM调整进程数(pm.max_children)、升级MySQL查询缓存等。
七、结论
乌班图服务器是一个可靠、易上手且社区资源丰富的服务器操作系统。通过本教程,你已经掌握了从安装、安全加固到部署Web服务的基本流程。从今天开始,无论是搭建个人站点、学习DevOps、还是为小团队部署内部工具,都可以基于这套框架逐步扩展。
下一步建议:
- 域名与HTTPS:通过Let's Encrypt免费配置SSL证书,实现全站HTTPS。
- 数据库管理:安装phpMyAdmin或Adminer进行可视化数据库管理。
- 备份与监控:通过
cron定时备份数据,使用Netdata或Prometheus监控服务器健康状态。 - 容器化:安装Docker,将应用容器化,提升部署与迁移效率。
记住,服务器的学习是螺旋上升的,不必一次追求完美。在遇到问题时,善用man命令、查阅Ubuntu官方文档,或者在社区论坛(如Ubuntu中文社区、Stack Overflow)提问,往往比照搬错误的博客更高效。你现在已经迈出了最坚实的一步。