生产环境产生的 bug 需要能够第一时间监控,不然辛辛苦苦引来的流量都跑光了,sentry 就是一套优秀的 bug 追踪系统。以 laravel 为例,演示如何搭建 sentry
sentry 虽然有提供线上服务,但收费很贵,且是国外服务器,访问并不方便,好在是开源产品,我们可以在自己的服务器搭建
官方推荐用 docker 搭建,详细版见 官方文档
首先要安装 docker ,详情见 centos搭建docker及docker-compose
然后下载 sentry 仓库
$ git clone https://github.com/getsentry/onpremise.git
构建 sentry
$ cd onpremise
$ ./install.sh
构建过程中会提示你输入账号密码,用你的邮箱作为账号,以后该邮箱也用于接收邮件,奇怪的是,在构建时可以用 qq 邮箱,后面在项目中邀请成员却不能用,因此建议统一不用 qq 邮箱,可以用 163 或者 foxmail 等
安装完成后,执行以下命令让 sentry 服务在后台运行
$ docker-compose up -d
浏览器访问:http://你的服务器ip:9000
邮件发送的设置,以腾讯企业邮箱为例,在目录下的 docker-compose.yml
添加配置:
SENTRY_EMAIL_HOST: smtp.exmail.qq.com
SENTRY_EMAIL_USER: 你的邮箱地址
SENTRY_EMAIL_EMAIL: 你的邮箱地址
SENTRY_EMAIL_PASSWORD: 授权码
SENTRY_EMAIL_USE_TLS: 'true'
SENTRY_EMAIL_PORT: 587
新建 laravel 项目,按 sentry 所指示的进行配置即可