# 搭建代码托管 & 前端监控平台

## 0. 从 0 开服务器

服务器类别：

1. 轻量应用服务器：**快速** 搭建应用、简单易用，提供了很多现成的镜像。省去了一些复杂的功能
2. 云服务器：功能齐全、基础的服务器

BAT 美团、华为、京东，1 年换一家去买，利用新用户优惠

宝塔 Linux（ Linux 运维面板 1 C 2 G 能带动）：

1. 企业：安全性，不建议用
2. 个人：快速搭建应用（强烈推荐）

怎么算带宽：

4 MB => 1 MB

1MB * 1000，1.25MBps



## SSH 连接服务器

XShell

Putty（轻量，相对专业）

MobaXterm

FinalShell



## 操作服务器

下载文件



## 1. 代码托管平台

企业中，往往不会把项目放到公开的平台，一般自己搭建。

GitLab（占用资源比较多，功能丰富）、Gitea、Gogs

估计要装 10 分钟左右

平台对比：

- https://about.gitlab.com/devops-tools/github-vs-gitlab/
- https://about.gitlab.com/devops-tools/gitea-vs-gitlab/
- https://about.gitlab.com/devops-tools/gogs-vs-gitlab/

系统要求：CPU >= 2C，内存 >= 4 G



## 2. 前端监控系统（目前搭建未成功，大家学理论就好）

监控的作用：

1. 监测系统的正常运行
2. 还原案发现场，**帮助定位和排查问题**
3. 即时感知到系统的问题（告警），防止用户流失

监控分类：

1. 系统性能监控（CPU、内存、带宽）偏底层，关注整体资源情况
2. 网站运行情况（页面是否正常？当前访问人数？加载时长？当前消耗带宽等）应用层，关注网站运行情况
3. 网站 **数据** 收集 / 监控（网站 PV、UV、用户分布、年龄分布等），关注网站的用户情况，数据分析
4. 行为监控（点了哪些按钮，操作路径），关注网站用户具体的行为，数据分析
5. 错误监控（页面哪些内容报错了）帮助定位和排查问题，防止用户流失



2、3、4 百度统计 / Aegis

5 错误监控：Sentry（开源），badjs



Sentry 官网：https://sentry.io/welcome/

Sandbox 可体验

自行搭建 Sentry：https://github.com/getsentry/self-hosted

安装教程：https://blog.csdn.net/weixin_40230682/article/details/120737684



## Docker

容器技术，我们可以把应用（比如 jar 包）和应用依赖的环境（比如 java）都打包（封装）成镜像，想要使用 / 部署应用时只需要下载镜像。而不需要自己重新准备环境。

镜像是死的，可分发（安装包）

容器应用是活的，根据安装包来启动容器



## Docker Compose

我们要启动多个 **Docker**，比如 MySQL + Java SpringBoot + Redis，自己一个个启动很麻烦

使用 Docker Compose 可以同时启动，节省时间







