ubuntu20.04安装配置nginx和php
环境为Docker下的Ubuntu 20.04,要为其配置nginx和php,其中php以fastcgi的方式运行(php-fpm)。
因为是Docker环境,故以下操作都直接以`root`身份运行。
Home of Little Jelly
环境为Docker下的Ubuntu 20.04,要为其配置nginx和php,其中php以fastcgi的方式运行(php-fpm)。
因为是Docker环境,故以下操作都直接以`root`身份运行。
本篇内容是在Kubernetes部署MySQL主从同步并读写分离。
由于笔者在Kubernetes上是新手,刚刚入门,所以参考了网上其它人写的文章来完成这一过程。
参考教程链接
前面我们已经用Kubernetes部署了nginx集群,也用Docker分别部署了nginx和php-fpm服务,那么是否可以用Kubernetes来组合部署nginx和php-fpm呢?
答案是可以!
相当于把之前两次的部署方式结合起来,具体过程就不写了,配置文件有点多。
用PHP开发网站时,传统的部署方式是将Nginx和php-fpm服务部署在同一台服务器上,在Docker大行其道的今天,是否可以将它们使用Docker分别部署呢?
答案是可以!
准备容器
这里我们使用官方的ubuntu和php镜像先创建两个容器
接下来我们在Kubernetes是部署一个可以扩展的nginx集群。
因为是在Ingress上部署的,所以前提是你的Kubernetes集群上已部署Ingress,如果没有,参考这篇 Kubernetes安装配置Ingress https://www.pimspeak.com/kubernetes-deploy-config-ingress.html
首先创建nginx Deployment和Service的配置文件 `nginx.yaml`
Docker关联容器并通信可以通过在同一网络下创建容器来实现。
优点:
1. 直接通过容器名称即可访问;
2. 当容器重新启动后,容器的IP可能会变,而通过容器名称访问则无需手动修改IP。
`Helm`是Kubernetes上的包管理器,在Mac上通过`brew`安装它。
安装
命令如下
Docker在创建容器时,可以加参数`–restart=always`使容器自启
即
docker run -it –restart=always
Kubernetes安装配置Ingress。
跟官方教程略有不同,改了两个地方, 一是github上的文件地址,二是`ingress.yaml`文件。
首先加hosts
Kubernetes Dashboard是一个Web管理界面,用户可以用它管理Kubernetes集群,包括运行在其中的Ingress、Service、Pod、Deployment等。
部署Dashboard倒是非常简单。
部署Dashboard
直接使用master分枝上的配置文件即可