嘿,朋友!如果你正准备折腾自己的云服务器,或者刚入手了阿里云/腾讯云的 ECS/CVM,却对着黑漆漆的终端不知所措,那你来对地方了。
咱们今天不聊虚的,直接上手。AlmaLinux 9 是现在红帽系(RHEL)生态里最靠谱的免费替代品之一,稳定、安全、社区活跃。从连接服务器到最终跑起 Nginx 服务,我会带你一步步走完,中间还会解释“为什么要这么做”,让你不仅会操作,还能懂原理。
准备好了吗?咱们开始。
第一步:拿到服务器的“身份证”
在动手之前,你得先确保自己拥有服务器的访问权。
1. 登录控制台
2. 获取关键信息
你需要三个东西:
- 公网 IP 地址(Public IP):就像你家门的地址。
- 用户名:默认通常是
root。 - 密码或密钥:
- 如果你创建时设了密码,那就用密码。
- 如果用了密钥对(推荐,更安全),你需要持有私钥文件(
.pem格式)。
💡 小白建议:首次尝试,如果没把握,可以重置一下 root 密码,方便后面排查问题。
第二步:SSH 连接服务器
SSH(Secure Shell)是连接远程服务器的标准方式。我们用的是 ssh 命令。
场景 A:使用密码登录(最简单)
打开你本地的终端(Mac/Linux)或 PowerShell/CMD(Windows 10+ 自带 OpenSSH),输入:
ssh root@你的公网IP
例如:
ssh root@43.123.45.67
系统会问你是否信任该主机,输入 yes,然后输入密码即可。
场景 B:使用密钥登录(更安全,推荐)
如果你有一把私钥文件 mykey.pem,先修改权限:
chmod 400 mykey.pem
然后连接:
ssh -i mykey.pem root@你的公网IP
成功连入后的样子
当你看到类似这样的提示,说明成功了:
[root@almalinux ~]#
第三步:初始设置——把系统打扮干净
刚买的云主机,系统往往是“裸奔”状态。我们得先做一些基础加固和优化。
1. 更新系统包
dnf update -y
这会把所有软件包更新到最新版,AlmaLinux 9 使用
dnf包管理器,和 CentOS/RHEL 一样。
2. 安装常用工具
dnf install -y vim curl wget git net-tools lsof htop unzip
vim:文本编辑器。net-tools:包含netstat等网络诊断工具。htop:直观查看系统资源占用。
3. 配置防火墙(firewalld)
AlmaLinux 默认启用 firewalld。我们需要开放几个端口:
22:SSH 端口(通常默认已开,但确认一下无妨)。80:HTTP443:HTTPS
# 允许 SSH(如果没开的话)
firewall-cmd --permanent --add-service=ssh
# 允许 HTTP 和 HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 重新加载防火墙规则
firewall-cmd --reload
验证防火墙状态:
firewall-cmd --list-all
你应该能在输出中看到 services: ssh http https。
4. 创建普通用户(可选但推荐)
直接用 root 长期操作不安全。我们可以创建一个普通用户:
useradd -m -s /bin/bash myuser
passwd myuser
# 按提示设置密码
# 赋予 sudo 权限
usermod -aG wheel myuser
以后可以用 myuser 登录,需要 root 权限时加 sudo。
第四步:安装 Nginx
Nginx 是全球最流行的 Web 服务器之一,轻量、高效、稳定。
1. 安装 Nginx
dnf install -y nginx
2. 启动并设置开机自启
systemctl start nginx
systemctl enable nginx
start:立即启动服务。enable:确保服务器重启后 Nginx 自动启动。
3. 检查状态
systemctl status nginx
如果看到 active (running),说明安装成功。
第五步:测试 Nginx 是否工作
现在,打开你本地的浏览器,访问:
http://你的公网IP
你应该能看到 Nginx 的默认欢迎页面,上面写着 “Welcome to nginx!”。
如果打不开,别慌,常见原因有:
- 防火墙没开放 80 端口 → 回到第三步检查
firewall-cmd。 - 云厂商的安全组没开放 80 端口 → 去阿里云/腾讯云的后台,找到实例的 安全组 规则,添加入方向规则:协议 TCP,端口 80,来源 0.0.0.0/0。
- Nginx 没启动 → 再次执行
systemctl start nginx。
第六步:配置一个简单的静态网站(实战演练)
光看欢迎页没意思,我们来部署一个真正的网站。
1. 创建网站目录
mkdir -p /var/www/mywebsite
2. 编写一个简单的 HTML 页面
用 vim 编辑:
vim /var/www/mywebsite/index.html
按 i 进入插入模式,粘贴以下内容:
<!DOCTYPE html>
<html>
<head>
<title>我的 AlmaLinux 网站</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>这是我部署在 AlmaLinux 9 上的第一个网站。</p>
<p>服务器:AlmaLinux 9 + Nginx</p>
</body>
</html>
按 Esc,然后输入 :wq 保存退出。
3. 创建 Nginx 站点配置文件
Nginx 的站点配置放在 /etc/nginx/conf.d/ 目录下。
vim /etc/nginx/conf.d/mywebsite.conf
粘贴以下内容:
server {
listen 80;
server_name _; # 匹配所有域名或IP访问
root /var/www/mywebsite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
listen 80:监听 80 端口。server_name _:这是一个通配符,表示任何域名或 IP 访问都走这个配置。root:指定网站文件的根目录。try_files:优先找文件,找不到就返回 404。
4. 检查配置语法是否正确
nginx -t
输出类似:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果报错,请检查拼写或括号是否匹配。
5. 重载 Nginx 使配置生效
systemctl reload nginx
6. 再次访问测试
在浏览器刷新 http://你的公网IP,你应该看到:
Hello, World! 这是我部署在 AlmaLinux 9 上的第一个网站。 服务器:AlmaLinux 9 + Nginx
恭喜!你已经成功部署了一个静态网站。
第七步:进阶——配置 HTTPS(Let’s Encrypt)
纯 HTTP 现在不太安全了,浏览器也会提示“不安全”。我们来给网站加上 SSL 证书。
1. 安装 Certbot
Certbot 是 Let’s Encrypt 的官方客户端,可以免费申请证书。
dnf install -y certbot python3-certbot-nginx
2. 申请证书
假设你的域名是 example.com,并且已指向服务器 IP(或者你用 IP 测试,Certbot 也支持,但会有限制)。
certbot --nginx -d example.com
如果用 IP 访问,可以跳过域名,直接用:
> certbot --nginx > ``` > 它会自动检测当前 Nginx 配置。 ### 3. 按提示操作 Certbot 会问你: - 是否同意条款?选 `Agree` - 是否共享邮箱?选 `N` - 是否重定向 HTTP 到 HTTPS?选 `2`(推荐) ### 4. 验证 HTTPS 浏览器访问 `https://你的公网IP` 或 `https://example.com`,应该能看到小锁标志,表示连接已加密。 ### 5. 设置自动续期 Let's Encrypt 证书有效期 90 天,Certbot 会自动续期。你可以测试一下: ```bash certbot renew --dry-run
如果没有报错,说明自动续期配置正确。
常见问题排查清单
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 连不上 SSH | 端口错误、IP 错误、安全组未开放 22 端口 | 检查云控制台安全组规则,确认端口 22 对 0.0.0.0/0 开放 |
| 网页 404 | 文件路径错误、Nginx 配置错误 | 检查 /etc/nginx/conf.d/ 下的配置,确认 root 路径正确 |
| 网页 502 Bad Gateway | 后端服务未启动(如果用 PHP/Node.js) | 检查后端服务状态,如 systemctl status php-fpm |
| HTTP 能访问,HTTPS 不行 | 防火墙未开放 443、证书未配置 | 开放 443 端口,运行 certbot --nginx |
| 证书自动续期失败 | Cron 任务未配置、网络问题 | 手动测试 certbot renew --dry-run,检查网络出站 |
结语:这只是开始
恭喜你!从 SSH 连接到 Nginx 部署,你已经完成了云服务器上手最关键的一步。
AlmaLinux 9 是一个非常稳定的平台,接下来你可以:
- 安装 PHP + MySQL,搭建 WordPress 博客。
- 部署 Node.js 或 Python 应用。
- 学习 Docker,容器化你的服务。
- 配置监控、备份、自动化脚本。
云服务器就像一块白板,你画什么,它就展示什么。多动手,多试错,遇到问题善用 man 命令和搜索引擎(比如 site:almalinux.org <你的错误信息>)。
如果你在过程中遇到任何坑,欢迎随时回来查看这份指南,或者再问我。祝你玩得开心!
附:完整命令速查表
# 1. 连接
ssh root@你的公网IP
# 2. 更新系统
dnf update -y
# 3. 安装工具
dnf install -y vim curl wget git net-tools lsof htop unzip
# 4. 配置防火墙
firewall-cmd --permanent --add-service={ssh,http,https}
firewall-cmd --reload
# 5. 安装 Nginx
dnf install -y nginx
systemctl start nginx
systemctl enable nginx
# 6. 创建网站
mkdir -p /var/www/mywebsite
vim /var/www/mywebsite/index.html # 写入内容
vim /etc/nginx/conf.d/mywebsite.conf # 写入配置
nginx -t
systemctl reload nginx
# 7. 配置 HTTPS
dnf install -y certbot python3-certbot-nginx
certbot --nginx -d example.com
记住,技术没有捷径,只有不断实践。加油!
