CentOS 7 安装与部署
本页介绍在 CentOS 等使用 yum 的发行版上,用 .rpm 安装包部署 Fast-Https。安装后会自动注册系统服务,可以实现开机自启和异常自动重启。其他方式见 Ubuntu 安装与部署 与 解压部署。
开始前
- 所有命令都在服务器的终端里执行,并且需要管理员权限。用
root登录即可;如果不是 root,请在每条命令前加sudo。 - 默认站点占用 80 和 443 端口。云服务器请先到控制台放行这两个端口,并确认没有被其他程序占用。
- 安装包从 Gitee Releases 或 GitHub Releases 下载,版本号以页面上的最新版为准。
1 确认架构并下载安装包
.rpm 是 CentOS / RHEL 系发行版的软件包格式。不同处理器要用不同的包,先查架构:
uname -m
- 输出
x86_64→ 下载文件名含amd64的包(大多数云服务器) - 输出
aarch64→ 下载文件名含arm64的包
下载命令里有两处版本号,都来自 releases 页的最新版:VER 是网页上的标签(带 v),PKG 是文件名里的版本号(不带 v)。例如标签 v1.6.0 对应文件名中的 1.6.0:
VER=v1.6.0
PKG=1.6.0
wget -O fast-https.rpm "https://gitee.com/ncepu-bj/fast-https/releases/download/$VER/fast-https_${PKG}_linux_amd64.rpm"
ls -lh fast-https.rpm
ls -lh 能看到文件和大小就表示下载成功。aarch64 机器请把命令末尾的 amd64 换成 arm64。
2 安装
yum install -y ./fast-https.rpm
rpm -qi fast-https
-y 表示自动确认安装提示,./ 表示「当前目录里的这个文件」。yum 会自动补上 ca-certificates 和 logrotate 两个依赖;安装完成后会打印配置、站点、日志目录和推荐的启动命令。rpm -qi 打印出软件包的名称、版本和架构,说明安装成功。
安装后的文件位置(以后改配置、找日志会用到):
| 用途 | 路径 |
|---|---|
| 命令 | /usr/bin/fast-https |
| 主配置 | /etc/fast-https/fast-https.json |
| 站点配置 | /etc/fast-https/conf.d/default.json |
| 默认站点目录 | /usr/share/fast-https/httpdoc/root/ |
| 证书 | /etc/fast-https/cert/ |
| 日志 | /var/log/fast-https/ |
| pid 文件 | /run/fast-https/fast-https.pid |
| systemd 单元 | /usr/lib/systemd/system/fast-https.service |
pid 文件记录服务进程号,systemd 单元是服务的配置文本。任何时候都可以用 fast-https config path 打印这些路径的实际位置。
3 启动并设置开机自启
安装包已经注册了名为 fast-https.service 的 systemd 服务。systemd 是 Linux 管理后台服务的组件,systemctl 是操作它的命令。
systemctl enable --now fast-https.service
systemctl is-active fast-https.service
systemctl status fast-https.service --no-pager
enable --now 的意思是「立刻启动,同时设为开机自动启动」;is-active 应输出 active,表示服务正在运行;status 可以看到更详细的状态和最近日志。
单元里已经配置了 Restart=on-failure(异常退出后自动重启)、RestartSec=2s 和 ExecReload=/usr/bin/fast-https reload(重载配置),这些不需要你手动设置。
4 验证默认站点
curl -sS -o /dev/null -w 'HTTP %{http_code}\n' http://127.0.0.1/
curl -sk -o /dev/null -w 'HTTPS %{http_code} TLS=%{ssl_verify_result}\n' https://localhost/
两条都应返回 200。200 是「请求成功」的状态码;HTTPS 那条的 -k 表示跳过证书校验,因为首次启动时自动生成的是自签名证书,TLS=0 表示 TLS 连接本身正常。
默认站点监听 80(HTTP)与 443(HTTPS、HTTP/2)。如果服务器在云上,在你自己电脑的浏览器里打开 http://<服务器公网 IP>/;localhost 只指服务器本机,不能在你的电脑上用。浏览器打开 HTTPS 时出现「证书不受信任」是正常现象,正式对外服务应配置与域名匹配的证书。
服务日志可用 journalctl -u fast-https.service -n 30 --no-pager 查看,结构化日志写在 /var/log/fast-https/ 下。
5 管理服务
安装包已注册 fast-https.service,日常用 systemctl 管理:
systemctl start fast-https.service # 启动
systemctl enable --now fast-https.service # 启动并设置开机自启
systemctl is-active fast-https.service # 查看是否在运行
systemctl status fast-https.service --no-pager # 查看状态
systemctl restart fast-https.service # 修改配置后重启
fast-https reload # 或只重新加载配置
journalctl -u fast-https.service -n 30 --no-pager # 查看最近日志
systemctl disable --now fast-https.service # 停止并取消开机自启
6 常见问题
| 现象 | 怎么处理 |
|---|---|
| 下载时报 404 | VER 或 PKG 写错了,去 releases 页核对最新标签和文件名 |
yum 提示找不到文件 | 确认当前目录就是 fast-https.rpm 所在目录,且 ./ 没有漏掉 |
is-active 不是 active | 用 systemctl status fast-https.service --no-pager 看报错,再查日志;常见原因是 80/443 被占用 |
| curl 返回 000 或连接被拒 | 服务没起来或端口被占用,回到第 3 步检查 |
| 自己电脑打不开页面 | 检查云安全组是否放行 80,且浏览器用的是服务器公网 IP |
下一步
对外部署时,把 server_name 改成实际访问的域名或 IP。想发布自己的网站或配置反向代理,请看左侧「使用教程」栏目。