Kubernetes部署nginx和php-fpm
前面我们已经用Kubernetes部署了nginx集群,也用Docker分别部署了nginx和php-fpm服务,那么是否可以用Kubernetes来组合部署nginx和php-fpm呢?
答案是可以!
相当于把之前两次的部署方式结合起来,具体过程就不写了,配置文件有点多。
Home of Little Jelly
前面我们已经用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`
Nginx PHP安全配置
1. 错误显示
配置php.ini
宝塔面板自带的Nginx可能不含我们所需要的模块,自己再编译一个与自带的并存又不好管理,所以把自带的替换掉是个不错的方案。
宝塔面板自带的Nginx有两种安装方式:
1. 极速安装
2. 编译安装
Nginx下实现静态的负载均衡(反向代理)不难,但动态的需要额外花点功夫。
这里要用到`Consul`和nginx的`upsync`模块,所以nginx需要编译安装。
**nginx**禁止`ip`访问的办法:
修改 nginx.conf,在 `http`中加上
cacti安装与配置。
系统需求:
服务器操作系统支持snmp
PHP扩展snmp被启用
如果监控nginx,nginx需开启 http_stub_status_module 。如果没有这个模块,需重新编译nginx 。
Nginx ipv6 HTTPS反向代理ipv4。
问题背景
APP接口的生产环境部署在一台只支持ipv4的服务器上A,域名为`api.yourdomain.com`,同时支持HTTP和HTTPS。现需要上架App Store,由于苹果审核时是在纯ipv6环境下,且要求使用HTTPS协议。另购了一台同时支持ipv4和ipv6的服务器B。
大体上有三种方法切割`nginx`日志。
第一种是写个定时任务,每天零点把旧的日志重命名,并对nginx进程发送USR1信号使其重新打开日志并写入。
第二种是能过管道的方式把新产生的日志写到另外一个日志文件里。
第三种是能`过logrotate`来切割日志,`logrotate`是系统自带的服务,可以切割任何日志,不仅仅是`nginx`,这里推荐使用它。