开源实例之 Docker Hub 镜像仓库 前言 随着部署的开源项目实例越来越多,服务器硬盘不可避免地不够用了。所以又调整了策略,将镜像提交到 Docker 官方仓库,本地定期删除镜像,需要时再拉取。 Docker Hub 介绍 Docker Hub is a service provided by Docker for finding and sharing container images with your team. It’s the world’s largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors (ISV) building and dis... 2023-02-01
亚马逊云免费服务器用了近半年,很稳当,直到刚才发现一月份有 0.01 美元的费用。看账单是美国跨区域数据传输造成的流量费用,没搞明白怎么回事,我应该没有主动的相关操作。 先赶紧把信用卡的境外支付锁了。明天就是新的月份,不知道会不会被停机。 2023-01-31
听到窗外鞭炮声,一个送丧队伍从村里经过。三周以来,这是第三个我亲眼所见的村里人(或是邻村)过世。据传现在市里火葬场紧张,要排队。可能晚上名额好拿一点,送丧也都是深夜。 我这次阳了几乎没有症状,最高 37.8 度,前几天已经阴了。但是老妈反复告诫我注意,现在到处在传谁谁阳康后洗了个头就死了。三年疫情,对工作生活产生了巨大影响,不过身边其实没发生过大事。放开之后突然“死亡”就离得这么近,甚至有些人听起来很儿戏就死了。比如前几周村里有个爱喝酒的人,喝了酒坐着猝死了。当然不都是因为新冠,只是大家都给眼下的苦难找了这个理由吧。 2023-01-10
开源实例之LXD 前言 LXD is a next generation system container and virtual machine manager. It offers a unified user experience around full Linux systems running inside containers or virtual machines. LXD is image based and provides images for a wide number of Linux distributions. It provides flexibility and scalability for various use cases, with support for different storage backends and network types and the opt... 2023-01-09
开源实例之webman 前言 本篇是对《开源实例之多项目部署方案》中 webman 部分的展开。 webman的介绍 webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。 除此之外,webman还支持自定义进程,可以做workerman能做的任何事情,例如websocket服务、物联网、游戏、TCP服务、UDP服务、unix socket服务等等。 官网地址:https://www.workerman.net/webman webman的理念 以最小内核提供最大的扩展性与最强的性能。 webman仅提供最核心的功能(路由、中间件、session、自定义进程接口)。其余功能全部复用composer生态,这意味着你可以在webman里使用最熟悉的功能组件,例... 2022-12-12
开源实例之Nginx 前言 本篇是对《开源实例之多项目部署方案》中 Nginx 部分的展开。 Nginx的介绍 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. Nginx 是轻量级的 HTTP 和反向代理 WEB 服务器。它资源占用少、高并发能力强,在互联网项目中广泛应用。Nginx 也就是常说的 LNMP 架构中的 N。 Nginx的应用 本系列的开源项目实例容器,由 Nginx 协助完成自动重建功能。主要利用的特性是,容器未创建或已停止时,HTTP 状态码返回 502,由此做重建分发。 以 WordPress 项目为例: 分发流程 项目落地页:https://word... 2022-12-09
开源实例之Podman 前言 Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode. Podman(Pod Manager tool)是 RedHat 推出的,无守护进程、不依赖 root 的容器管理工具,是 Docker 的“无痛”替代品。 官网地址是https://podman.io Podman 的诞生 Podman 的诞生是一种必然,或者说,即便不是 Podman,也必然会出现另一款替代 Docker 的产品。这里面政治斗争或许大于技术因素。 在 Docker 一家独大的时候,Google 的 Kubernetes 是最... 2022-12-06
开源实例之Kubernetes 前言 Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes,发音是[kubə'netis],常被简称为 K8s,即 k + 中间8个字母 + s。这种极客命名,另一个知名例子是多语言软件常见的 i18n(internationalization)。 Kubernetes 源于希腊语,有“舵手”的意思,正如它的 logo 是一个船舵。 官网地址是:https://kubernetes.io Kubernetes的发展 Kubernetes 起源于 Google 内部项目,在 2014 年被正式开源。在 Docker 开始爆火的时期,Kubernetes... 2022-12-05
开源实例之多项目部署方案 前言 目前部署的开源实例都是 LNMP 架构,在没有并发的情况下,不会随着项目数量增加而导致系统负载显著提高。但想要部署编译型(常驻内存)实例,几个项目就不够用了。 如果这个问题不解决,本系列大概就要降级为 “PHP 和 JS 开源实例系列”,有点违背初衷。所以我将所有实例重构成了容器实现,在上个周末完成了架构方案。 部署方案 关键思路就是容器部署项目实例,并且能够定期销毁、自动重建。主要用到了 Docker、PHP webman 和 Nginx。 Docker 使用 Docker 做容器化部署。通过 docker-compose 编排,一个项目整合成一组容器。比如 WordPress 实例,包含了 LNMP 容器组和自身的代码容器。这样做的好处是方便隔离和回收,同时一整个项目只需要暴露一个 WEB 端口。 关于 Docker 配置细节会单独写一篇文章介绍:开源实例之Docker。 web... 2022-11-29