在WSL下配置php-fpm + nginx捆绑包

我是一个农民,尽管有很多优点,但在我的PC上以各种可能的方式逃避了向Linux的最终过渡。 因此,最近几年我使用Docker for Windows为项目创建本地平台。 并不是说它是超级稳定的,但是直到在Laravel上的一个项目上该站点开始表现异常时才引起严重问题: 某些请求(总是不同的部分)返回了错误。 该脚本无法打开缓存文件。

花了很多时间寻找原因后,在这种情况下,我决定放弃Docker,以手动模式在WSL下部署该平台。

由于WSL 几乎是Linux,即 -并非如此,设置有其自身的特征。
在MySQL之后,从bash安装了nginx和php7.2,在nginx中配置了一个虚拟服务器,但所有这些都无法正常工作。 Nginx日志具有以下条目:

connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream 

据我所知,在WSL中没有这样的套接字,因此我必须执行以下操作:

  1. 打开文件/etc/php/7.2/fpm/pool.d/www.conf进行编辑,并更正listen指令的值

     ; listen = /run/php/php7.2-fpm.sock ; old value listen = 127.0.0.1:9000 ; new value 
  2. 在Nginx虚拟服务器设置中设置相同的值

     location ~ \.php$ { ... fastcgi_pass 127.0.0.1:9000; ... } 

这提供了一种工作服务器。 似乎是因为处理过的每个请求ooooooooooooooooooooooooooooooooooooooooooooooooo 已经是最多时间限制了。 事实证明,要摆脱刹车,您应该在/etc/nginx/nginx.conf文件中添加一行

 http { ... fastcgi_buffering off; ... } 

之后,系统开始运行,到目前为止感觉不错。



→在此找到所描述的食谱

PS之后,我发现以某种方式仍然可以在套接字上启动一堆,但尚未进行验证。 还有一个

Source: https://habr.com/ru/post/zh-CN454816/


All Articles