Nginx PHP Http请求超时的问题
使用PHP搭建的网站有时会遇到Nginx报超时的问题,这是因为PHP的执行时间过长,Nginx在默认的等待时间内没有收到执行结果而报错。
要避免这个问题,需要同时对Nginx和PHP的配置做修改。
### PHP的配置
Home of Little Jelly
使用PHP搭建的网站有时会遇到Nginx报超时的问题,这是因为PHP的执行时间过长,Nginx在默认的等待时间内没有收到执行结果而报错。
要避免这个问题,需要同时对Nginx和PHP的配置做修改。
### PHP的配置
本篇讨论一下Nginx、PHP、MySQL服务的启动顺序问题。
一般情况下,当服务器刚启动还没有收到HTTP请求时,哪个服务先启动哪个后启动没有佬影响。反之,当服务器刚启动时就要处理HTTP请求,特别是大量的请求时,Nginx、PHP、MySQL服务的启动顺序就很重要,不然就会出现500、502之类的错误。
要将Laravel应用程序在Nginx服务器上进行链接重写,您需要在Nginx配置文件中添加以下规则:
Nginx怎么针对指定路径和端口做反向代理?
比如Web Socket请求路径是`/ws`或`wss`,又或者是一个端口号`8080`,需要转发到另外的进程上,怎么通过Nginx来做反向代理呢?
可以使用Nginx的`proxy_pass`指令来实现反向代理,并使用`location`指令来限制代理的端口和路径。
在PHP下上传文件时有时会报`413 Request Entity Too Large`错误,即上传的文件太大,要解决这个问题,需要同时修改nginx和php的配置。
nginx配置
nginx默认上传的文件最大是1M,太小了。
修改conf文件,加一行
现在越来越多的网站使用HTTPS协议,使用该协议需要SSL证书。
这里介绍下怎么在Nginx配置HTTPS(SSL证书)。
部分配置如下:
最近在学习Kubernetes,用它部署了Ingress,并用Ingress负载nginx,nginx转发到php服务里的php-fpm,php程序连接MySQL主从。
折腾了好几天,遇到不少问题,好在最后都解决了,列一下做个笔记。
Nginx服务器配置ThinkPHP5站点,包括像FastAdmin这种使用ThinkPHP5的框架。
在配置上主要有三点:
1. PHP文件转发
2. 重写规则
3. PATHINFO模式的处理
这篇是关于基于官方的Ubuntu 20.04 Docker镜像构建自己的nginx和php镜像。
首先为什么要构建自己的镜像而不是直接使用官方的nginx和php镜像?
虽然官方的包体积比较小且启动方便,但不是完全可控的,除非你对它的nginx和php配置非常熟悉,不然二次构建是比较麻烦的,比如装个扩展什么的。
所以我们要构建自己的镜像,想怎么用就怎么用,知根知底,改起来也方便。
环境为Docker下的Ubuntu 20.04,要为其配置nginx和php,其中php以fastcgi的方式运行(php-fpm)。
因为是Docker环境,故以下操作都直接以`root`身份运行。