前端作为最接近用户的一端,有非常重要的责任。响应要快,操作要流畅等,然而 JS 的单线程设计,和 dom 不能同时渲染的设计,让你的 JS 报错分分钟就卡在那里动不了。简单来说:
体验贼差
有报错咋办?调试呗,可以看之前出的很多调试的文章:
主推是 spy-debugger
。我日常用的最多的也是spy-debugger
使用 weinre/spy-debugger 调试手机页面
chrome 调试手机网页
优点:原生 chrome 控制台。原生!!这控制台无敌,挑不出毛病
缺点:
PC 调试移动端 H5 vue-devtools+weinre+fiddler
vue-devtools
的一个好奇探索。对fiddler
的一个入门以上的工具,非常实用,可是也有弊端:就是必须复现 bug 的手机就在身旁,你得还连数据线,或者开代理各种操作。对于市场用户来说,这基本不可能,根本复现不了那么多场景。
最后只能说一句:我的电脑/手机上没问题啊
所以我们需要更多的监控,常说的前端埋点,这里直接介绍 sentry
安装方式
Python 安装
Docker 安装 接下来是介绍在centeos 用 docker 安装
注意事项
17.05.0+
1.23.0+
这里有坑,不想踩的可以先看完后面的截图
# 安装docker
yum install docker -y
# pip安装docker-compose
pip install docker-compose
Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
问题解析:
旧版本依赖多,不能清晰的删除,此时应该忽略旧版本升级,即如下
解决办法:
sudo pip install docker-compose --ignore-installed requests
我的 docker 版本才 1.13.3
解决方法:升级 docker 版本
# 删除旧的docker
yum remove docker docker-common docker-selinux docker-engine
# 安装需要的软件包
## yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置Docker yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看所有仓库中所有docker版本
yum list docker-ce --showduplicates | sort -r
# 安装docker。默认装最新的
sudo yum install docker-ce
# 如果需要指定版本安装(版本号上面的命令有的看)
sudo yum install docker-ce-18.06.1.ce
查看 docker 版本
安装完成后。docker 的准备就差不多了,启动下 docker
systemctl start docker
就是上面写的 docker 的 Git 地址。找个地方把 git 获取下来
git clone https://github.com/getsentry/onpremise.git
会看到有一个 onpremise
文件夹。后续的操作都在这个文件夹里面,所以
cd onpremise
# 执行安装
./install.sh
如果遇到 没有那个文件或目录
。是因为换行符的问题,git 拉下来的 sh 脚本用了CRLF
换行符,导致有很多额外的符号影响了脚本
解决方法:
install.sh
。修改换行符:vim install.sh
# 然后点击 esc 。输入
:set ff=unix
# 然后保存退出
install.sh
拉到 vscode 中。直接修改换行符点一下 CRLF 换成 LF。重新上传到服务器就好
换行符搞定了,那就继续执行脚本
有坑,先看说明:
然后你会发现 Fetching and updating Docker images
等了几个世纪都没反应!实在是太慢了,所以我们要改成阿里云的镜像在执行 install 命令
到阿里云里面获取最新的镜像地址(要获取镜像地址需要注册阿里云,就随便注册下而已)
https://promotion.aliyun.com/ntms/act/kubernetes.html
搜索 docker
查看镜像加速器。侧边的文档也写的很清楚了:
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://hkoa9dfz.mirror.aliyuncs.com”]
}
EOF是一句命令,复制进去就行
或者用常用的 vi.vim。把
{
“registry-mirrors”: [“https://hkoa9dfz.mirror.aliyuncs.com”]
}
粘贴进去效果是一样的
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hkoa9dfz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
镜像也找到了。就正式可以运行 ./install.sh
安装,等几分钟。看到这个就是安装完成了
询问是否创建一个帐号,输入邮箱地址即可,后面还会要求输入密码,再次确认
不小心点了 n 咋办?
重新运行下面的命令,会在让你输入一个账户的
docker-compose run --rm web upgrade
docker-compose up -d
然后浏览器访问 http://{ip}:9000
。IP 改成自己服务器的 ip 地址。默认是 9000 端口
成功了一半~
帐号密码就是刚才填写的帐号密码,没生成的话重新看下上面的步骤
写到这里安装的算是告一段落了,文章篇幅太长,sentry 的使用还有很多要记的,所以下一篇文章在细说!
docker 牛逼!sentry 那么多依赖一个镜像就搞定了,虽然换镜像源卡了一下,整体来说总比以前一个个依赖去装方便得多