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

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

目录

    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搭建和管理企业级网站应用
目录
相关文章
|
29天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
2月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
79 2
|
8天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
6天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
7天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
18天前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
35 7
|
20天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
1月前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
2月前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
59 1