首页> 阅读笔记 > 阅读笔记 > 手把手教你自建 Gotify 推送服务,消息直达 Android 手机

手把手教你自建 Gotify 推送服务,消息直达 Android 手机

发布时间:2026-06-07 09:14:08作者来源: 15899665370
日常运维、脚本监控或者日常折腾中,我们常常需要一种方式,让服务器上的重要信息能实时推送到我们的手机上。
 
以前大家用得最多的可能是 Server 酱 或者各类第三方 webhook 服务。虽然方便,但总归受制于人:要么有次数限制,要么担心隐私泄露,要么服务不稳定。
 
 
“自己的数据,当然要掌握在自己手里。”
 
今天,星哥就带大家搭建一个开源、轻量、高效的自建消息推送服务——Gotify。它支持 WebSocket 长连接,消息毫秒级直达 Android 手机,而且完全私有化部署。
 
 
废话不多说,咱们直接开干!
 
第一步:服务端部署(CentOS 示例)
Gotify 是基于 Go 语言编写的,单二进制文件运行,非常轻量。这里我们以 CentOS 服务器为例,当然,如果你熟悉 Docker,也可以用 Docker 一键部署,原理相通。
 
1. 下载并解压
我们选取目前稳定的 v2.9.1 版本(建议去 GitHub 查看最新版)。在服务器终端执行以下命令:
 
 
    
    
    
  # 下载安装包
wget https://github.com/gotify/server/releases/download/v2.9.1/gotify-linux-amd64.zip
 
# 解压
unzip gotify-linux-amd64.zip
 
# 赋予执行权限
chmod +x gotify-linux-amd64
2. 配置文件调整
直接运行可能会占用 80 端口,容易冲突。我们需要自定义配置文件。
 
 
    
    
    
  # 下载官方示例配置
wget -O config.yml https://raw.githubusercontent.com/gotify/server/master/config.example.yml
编辑 config.yml 文件,主要修改以下几点:
 
• 端口设置:默认改为 9080(避免与 Nginx 或其他服务冲突)。
• 数据库:默认使用 SQLite,适合个人使用,无需额外安装 MySQL/Postgres。
• 默认管理员账号:初始化时会创建,记得修改默认密码,安全第一!
 
    
    
    
  port: 9080
database:
  dialect: sqlite3
  connection: data/gotify.db
defaultuser:
  name: admin
  pass: your_strong_password  # ⚠️ 务必修改为强密码
3. 启动服务
 
    
    
    
  ./gotify-linux-amd64
此时,服务已在后台运行,监听本地的 9080 端口。
 
第二步:配置 Nginx 反向代理(推荐 HTTPS)
为了安全和方便访问,强烈建议通过 Nginx 进行反向代理,并配置 HTTPS 证书。
 
1. Nginx 配置示例
在你的 Nginx 配置文件中(通常在 /etc/nginx/conf.d/ 下),添加如下配置:
 
 
    
    
    
  upstream gotify {
  server 127.0.0.1:9080;
}
 
server {
  listen 443 ssl http2; # 建议使用 HTTPS
  server_name push.yourdomain.com; # 替换为你的域名
 
  # SSL 证书配置(略,请自行配置 cert 和 key)
  
  location / {
    proxy_pass         http://gotify;
    proxy_http_version 1.1;
 
    # ⚠️ 关键配置:支持 WebSocket
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection "upgrade";
    
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   Host $http_host;
    
    # 保持连接超时时间
    proxy_connect_timeout   1m;
    proxy_send_timeout      1m;
    proxy_read_timeout      1m;
  }
}
星哥提示:Upgrade 和 Connection 头信息至关重要,因为 Gotify 依赖 WebSocket 进行实时通信,缺少这两行会导致消息无法实时推送。
 
2. 重启 Nginx
 
    
    
    
  nginx -t && systemctl reload nginx
第三步:Android 客户端连接
服务端搞定后,我们需要在手机上安装客户端来接收消息。
 
1. 下载 App: 前往 GitHub Release 页面下载 Android 客户端: Gotify Android Releases https://github.com/gotify/android/releases
2. 登录配置:
• 打开 App,输入你的服务器地址(例如:https://push.yourdomain.com)。
• 输入之前配置的 admin 用户名和密码。
• 点击登录,如果显示绿色连接状态,说明成功!
第四步:创建应用并测试推送
为了区分不同来源的消息(比如一个是监控报警,一个是博客评论通知),我们需要在 Gotify 网页端创建“应用”。
 
1. 获取 Token
1. 浏览器访问你的 Gotify 地址,登录后台。
2. 点击左侧菜单 APPS -> CREATE APPLICATION。
3. 填写名称(如 "My Server"),点击创建。
4. 复制生成的 Token,这串字符是你发送消息的钥匙,妥善保管!
2. 模拟发送消息
我们可以用 curl 命令测试一下是否通畅。假设你的 Token 是 CDfn-FD5Ba5nTyJ:
 
 
    
    
    
  curl -H "Accept: application/json" \
     -H "Content-type: application/json" \
     -X POST \
     -d '{"title": "星哥测试", "message": "这是一条来自自建服务的推送消息!", "priority": 5}' \
     "https://push.yourdomain.com/message?token=CDfn-FD5Ba5nTyJ"
查看手机: 如果一切正常,你的 Android 手机应该会立刻弹出一条通知,标题是“星哥测试”,内容是“这是一条来自自建服务的推送消息!”。
 
星哥点评与注意事项
✅ 优点:
 
• 完全私有:数据不经过第三方,隐私安全。
• 实时性强:基于 WebSocket,比轮询接口省电且即时。
• 轻量级:资源占用极低,老旧服务器也能跑。
⚠️ 潜在坑点:
 
• Android 后台保活:这是所有安卓推送的通病。如果 Gotify App 被系统杀后台,消息可能收不到。建议在手机设置中,将 Gotify 设为“允许后台活动”、“忽略电池优化”,并锁定后台任务。
• iOS 支持:目前 Gotify 官方没有 iOS 客户端(因为 iOS 对后台推送机制限制严格,通常需要 APNs 支持)。iOS 用户可以考虑配合 Bark 等其他方案,或者仅作为 Web 端查看。
结语
自建服务虽然前期需要一点配置成本,但换来的是长期的稳定和对数据的掌控感。对于喜欢折腾的技术爱好者来说,Gotify 绝对是一个值得加入工具箱的神器。
 
如果你在部署过程中遇到问题,或者有更好的推送方案欢迎交流!

阅读笔记更多>>

尊界V800官图曝光!定位大型旗舰MPV,配1.5T增程系统 前五月新车大盘点:燃油车三个月新品空窗,5米以上大车占比过半 放下溢价惯性后,奔驰给35万级豪华纯电上了一课 国内汽车市场为什么卖不动了?四大原因 上汽大众:合资转型进入\"交卷时刻\" 16.99万起,“宝藏”MPV 2027款星海V9上市 向服务生态型转身 ,东风柳汽亮出“十五五”转型底牌 十年之后再启程:东风柳汽的“双擎”野望与长期主义 一汽-大众35周年:20款新车、亿元权益,一场不落幕的家年华 加油站里建充电站,能不能终结新能源车主的补能焦虑 德日插混对决:帕萨特ePro与雅阁e:PHEV怎么选? 首探华为武研所,奕境X9拿到了华系车从未有过的特权 5米5车长+3米4轴距,配车载咖啡机,尊界V800官图正式公布 618桌面音箱怎么选?这份全景声选购指南建议先收藏 法系小钢炮回归,高功率电动机+强化底盘,零百加速5.7秒 海外开售!全新奥迪 Q3 迎来大改款,风格大变,国产版即将登场 车市风向变了!5月销量前十席位竟无燃油车,背后原因太现实 宏光MINIEV第五代建议买吗?配置参数解读与购买建议 有认同有争议,全新雷克萨斯ES内外大变样,值不值得选还得试驾 2026华为nova与畅享怎么选?千元中端真实差距,帮你避坑不踩雷 原本不被看好,vivo S60系列首发成绩,确实惊喜 三星S27 Pro曝光:一支S Pen的消失,换来了满血Ultra体验 红旗G919新车解析:中式硬派旗舰,重新定义国产越野天花板 丰田史上超劲C级钢炮闪亮登场:GRMN Corolla 全维安全体系再升级,启境GT7依托实测完善四大安全板块 蔚来ES9新车深度解析|配置、权益、车型差异,家用商务都适配 大概率低于预售价?比亚迪大唐EV即将上市,实力究竟如何? 大众安徽5月份交付了2303辆,它还有机会吗? 比亚迪“大汉”来袭!豪华旗舰王,续航1008km,纯电时代的新标杆 比亚迪大唐将于6月17日正式上市,外观大气且配置出色