个人服务器运维指南 (持续更新)

本文涉及的产品
.cn 域名,1个 12个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 去年我写了一篇文章: 当我有一台服务器时做了什么。当时为了不至于浪费我在阿里云低价优惠买的服务器,于是使用 docker 跑了一个应用,并参照我司的技术架构搭建了相关的基础设施。现在仔细想来,这些经验也非常有益于有一台服务器却不知所措的人,于是有了本系列文章,希望能够帮助到那些服务器买来已久却在吃灰的人。

去年我写了一篇文章: 当我有一台服务器时做了什么。当时为了不至于浪费我在阿里云低价优惠买的服务器,于是使用 docker 跑了一个应用,并参照我司的技术架构搭建了相关的基础设施。

现在仔细想来,这些经验也非常有益于有一台服务器却不知所措的人,于是有了本系列文章,希望能够帮助到那些服务器买来已久却在吃灰的人。 另外如果你是一个自由开发者,本系列文章或许对你环境搭建也会有些许启发。

如果对你能够有所帮助,可以帮我在 shfshanyue/op-note 上点个 star。

如果你是新人的话,目前在阿里云买机器会有优惠,可以点击 链接 购买

目录

    1. 序·当我有一台服务器时我做了什么
    2. [序·当我有一台服务器时我做了什么(2019)]() - TODO
  1. 如果没有服务器

    1. 如果你只想搭一个博客
    2. [静态网站托管: netlify]() - TODO
    3. [免费的 API Server 与数据存储]() - TODO
    4. [申请你的域名邮箱]() - TODO
    5. [使用 sentry 做异常监控]() - TODO
  2. 服务器初始化配置

    1. 服务器初始登录配置:ssh-config
    2. 服务器ssh key 以及 git 的配置 · (掘金)
    3. 系统信息查看相关命令
    4. 使用 vim 及其配置
    5. 窗口复用与 tmux
    6. openvpn 配置与内网安全 - TODO
  3. 自动化运维

    1. 使用 ansible 做自动化运维
    2. ansible 中的细节问题 - TODO
  4. docker 与应用开发

    1. 使用 docker 高效部署前端
    2. 部署异常监控服务 Sentry
  5. k8s 与应用开发

    1. 搭建一个 k8s 集群
    2. 部署你的第一个应用: Pod,Deployment 与 Service · (掘金)
    3. 通过外部域名访问你的应用: Ingress · (掘金)
    4. 自动为你的域名添加 https
    5. 部署利器 Helm 安装及简介
  6. 监控

    1. linux 各项监控指标
    2. [linux 监控与报警]() - TODO
  7. 高频 linux 命令

    1. sed
    2. awk
    3. jq
    4. iptables
    5. htop

00 如果没有服务器 · PaaS

随着 PaaS 的流行, 没有钱没有服务器也可以作很多事情。如

  • netlify 托管网站
  • github 托管私有仓库,并结合 github actionCI/CD
  • quay 构建镜像
  • cloudflare 免费的 CDN
  • sentry 异常上报
  • aws-lambda 简单的 API

如果说有什么缺陷的话,那就是因为网络而造成的速度问题了。 本章目录如下

  1. 如果你只想搭一个博客
  2. [静态网站托管: netlify]() - TODO
  3. [免费的 API Server 与数据存储]() - TODO
  4. [申请你的域名邮箱]() - TODO
  5. [使用 sentry 做异常监控]() - TODO

01 服务器初始化配置

当我有了服务器时,我应该先在上边做点什么准备工作?

  • ssh-config: 方便很快地进入服务器
  • ssh key: 方便 git 的设置,以及与其它服务器相互 ssh
  • vim/tmux: 方便在 linux 下工作
  • htop/rsync/lsof/git/...: 等基础软件与依赖的配置

如果使用 ansible,能够在三分钟内快速配置完所有前置准备工作。 本章目录如下

  1. 服务器初始登录配置:ssh-config
  2. 服务器ssh key 以及 git 的配置
  3. 系统信息查看相关命令
  4. 使用 vim 及其配置
  5. 窗口复用与 tmux
  6. openvpn 配置与内网安全 - TODO

02 自动化运维

在做服务器初始的准备工作中,如果只有一台服务器就很简单,但是有了多台就需要考虑一下自动化运维了

  1. 使用 ansible 做自动化运维
  2. ansible 中的细节问题 - TODO

03 docker 与应用开发

当服务器的准备工作结束后,就可以使用它部署一些服务或者简单的应用了:

  • 一个简单的静态博客,能够了解前端部署的大致流程
  • postgres/redis,做一些测试,存一些有用的数据
  • 一个有状态的后端应用,并用 docker 部署,简单了解后端部署以及前后端配合的大致流程
  • nginx 的反向代理
  • https 证书

如果你刚刚接触服务器,我建议你学习并实践下 docker,不管你是一个前端还是后端都会大有裨益,目录如下

  1. 使用 docker 高效部署前端
  2. 部署异常监控服务 Sentry

04 kubernetes 与应用开发

如果你有多台服务器,建议尽可能搭建一个 k8s cluster。结合 kuberneteshelm,部署也变得相当简单了

  1. 搭建一个 k8s 集群
  2. 部署你的第一个应用: Pod,Deployment 与 Service
  3. 通过外部域名访问你的应用: Ingress · (掘金)
  4. 自动为你的域名添加 https
  5. 部署利器 Helm 安装及简介

05 监控

  1. linux 各项监控指标
  2. [linux 监控与报警]() - TODO

06 高频 linux 命令

记录下来备忘

  1. sed
  2. awk
  3. jq
  4. iptables
  5. htop
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
15天前
|
存储 弹性计算 运维
阿里云日常运维-购买服务器
这篇文章是关于如何在阿里云购买和配置云服务器ECS的教程。
53 6
阿里云日常运维-购买服务器
|
9天前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
4天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在IT运维领域,自动化工具的应用日益成为提升效率、降低错误率的关键。本文将介绍如何使用Ansible这一流行的自动化工具来简化和加速服务器的配置管理工作,通过实际案例展示其应用,并分享一些最佳实践。文章旨在帮助读者理解Ansible的核心概念,掌握基本使用方法,并鼓励大家探索更多可能的应用场景。
12 2
|
4天前
|
运维 应用服务中间件 网络安全
自动化运维的魔法:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在这篇文章中,我们深入探讨如何利用Ansible这一强大的自动化工具来简化和加速你的服务器配置管理工作。我们将从基础概念出发,逐步引导你了解如何使用Ansible编写Playbooks,实现对服务器群的快速部署、配置更新与维护任务。通过实际案例,你将看到Ansible如何节省时间、减少人为错误并提高运维效率。无论你是初学者还是有经验的运维工程师,这篇文章都将带给你新的视角和启发。
|
12天前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
6天前
|
存储 运维 网络协议
运维的基本概念:服务器和网络基础知识
运维的基本概念:服务器和网络基础知识
14 0
运维的基本概念:服务器和网络基础知识
|
12天前
|
运维 Ubuntu Linux
掌握自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文旨在通过深入浅出的方式,介绍如何利用Ansible这一强大的自动化工具来简化和加速日常的服务器配置管理工作。文章将首先概述自动化运维的重要性,接着详细讲解Ansible的基本概念、安装过程及其在服务器配置中的应用实例。我们将通过具体的操作步骤和代码示例,展示如何使用Ansible编写任务,以及如何执行这些任务以实现批量的服务器配置。最后,文章将探讨一些高级用法,帮助读者进一步提升自动化运维的能力。
|
12天前
|
运维 应用服务中间件 持续交付
自动化运维之路:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文将引导您了解如何利用Ansible这一强大的自动化工具,来简化和加速您的服务器配置管理工作。我们将通过实际代码示例,展示如何使用Ansible编写Playbook,实现自动化部署、配置更新和任务执行。通过阅读本文,您不仅能够掌握Ansible的基本用法,还将学会如何构建可重复使用的自动化脚本,以提升运维效率和减少人为错误。
|
17天前
|
存储 运维 监控
自动化运维:使用Python脚本进行服务器监控
【8月更文挑战第31天】在数字化时代,服务器的稳定运行对于企业至关重要。本文将介绍如何使用Python编写一个简单的服务器监控脚本,帮助运维人员及时发现并解决潜在问题。我们将从基础的服务器资源监控开始,逐步深入到日志分析与报警机制的实现。通过实际代码示例和操作步骤,使读者能够快速掌握自动化监控的技能,提升工作效率。
|
17天前
|
运维 监控 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【8月更文挑战第31天】在快速迭代的软件开发环境下,高效稳定的运维工作成为项目成功的关键。本文将介绍如何使用Ansible工具实现服务器的自动化配置管理,包括安装、配置和部署应用,旨在提升运维效率,减少人为错误。文章通过实际代码示例,引导读者理解Ansible的使用方法及其在自动化运维中的优势。