菜单

connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)

2019年2月13日 - 金沙编程资讯

  nginx + php做服务,在高并发的时候会现出部分荒唐  connect() to
unix:/var/run/php-fpm.sock failed (11: Resource temporarily
unavailable)  。

1.终端履行:

1、安装nginx

安装

sudo apt-get install nginx  

服务启动、截止、重启

/etc/init.d/nginx start

/usr/sbin/nginx -c /etc/nginx/nginx.conf

/etc/init.d/nginx stop

/etc/init.d/nginx restart

配置文件

/etc/nginx/nginx.conf

LNMP编译安装之nginx关联php–图文详解

当下有二种方式可以试试。

brew search nginx
brew install nginx

二、安装MySQL

Ubuntu 安装mysql相对相比不难

1.安装mysql的服务端

apt-get install mysql-server

在设置的历程中需求你输入root用户的密码。

2.设置mysql的客户端
apt-get install mysql-client

3.装置收尾后,一般需求再行安装下字符集

1) 查看当前的编码:show variables like ‘character%’;
2) 修改my.cnf,在[client]下添加default-character-set=utf8

命令:vi /etc/mysql/my.cnf
3) 在[server]下添加default-character-set=utf8,init_connect=’SET
NAMES utf8;’
4) 重启mysql

/etc/init.d/mysql restart

1、前言

前边曾经介绍了nginx,php,mysql的编译安装进程,但nginx和php的关系没有提到,导致网页不可以健康使用php作用,所有本编介绍怎么样将nginx和php进行关联,使*.php文件可以正常在浏览器访问。

  环境: ubuntu + nginx + php7.1

提示没有brew的话请参见mac安装神器brew安装

三、安装php

apt-get install php5-cgi php5-fpm php5-curl php5-gd php5-mysql
php5-mcrypt php5-redis php5-dev

2、准备步骤

2.1、修改php-fpm配置文件

cp /usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf

图片 1
2.2、编辑php-fpm配置文件

vi /usr/local/php7/etc/php-fpm.d/www.conf(开启  listen.allowed_clients
= 127.0.0.1)

vi /usr/local/php7/etc/php-fpm.conf(开启  pid = run/php-fpm.pid)

图片 2

图片 3

图片 4

2.3、驱动php-fpm

/usr/local/php7/sbin/php-fpm

图片 5

2.4、查看php-fpm运行景况

ps aux|grep php-fpm

图片 6

到此处php-fpm的主题配备就水到渠成了,接下去继续配备nginx

 

安装完nginx今后,拿到一些布局路径:
/usr/local/etc/nginx/nginx.conf (配置文件路径)
/usr/local/var/www (服务器暗中认同路径)
/usr/local/Cellar/nginx/1.6.2 (貌似是安装路径)

四、配置

1、配置文件和日志文件

/etc/php5/fpm/php.ini  php.ini配置文件
/usr/lib/php5/20121212  php 伸张目录
/etc/php5/fpm/php-fpm.conf php-fpm进度管理主配置文件
/etc/php5/fpm/pool.d/www.conf php-fpm进程池配置文件
/var/log/php5-fpm.log php-fpm错误日志
/var/log/php_errors.log php错误日志
/etc/nginx/nginx.conf  主配置文件
/etc/nginx/sites-available/default   虚拟主机
/var/log/nginx/access.log nginx访问日志
/var/log/nginx/error.log  nginx错误日志

2、php5-fpm 配置优化

/etc/php5/fpm/pool.d/www.conf 

上面4个参数的意味分别为:
pm.max_children:静态格局下打开的php-fpm进度数量。
pm.start_servers:动态格局下的先导php-fpm进度数量。
pm.min_spare_servers:动态格局下的矮小php-fpm进程数量。
pm.max_spare_servers:动态格局下的最大php-fpm进度数量。

注:以内存512M的VPS来说,指出设置的参数如下,仅供参考:
pm=dynamic
pm.max_children=20
pm.start_servers=5
pm.min_spare_servers=5
pm.max_spare_servers=20

3、nginx配置

/etc/nginx/sites-available/default 

在server节点中配备执行php脚本
        location  ~ \.php$ {
            # With php5-cgi alone:
            # fastcgi_pass 127.0.0.1:9000;
            # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

在http节点中增进以下内容可突显目录

        autoindex on;# 呈现目录
        autoindex_exact_size on;# 呈现文件大小
        autoindex_localtime on;# 展现文件时间

4、php错误日志

/etc/php5/fpm/php.ini
log_errors = On
error_log = /var/log/php_errors.log

3、nginx配置修改

3.1、配置nginx

vim /usr/local/nginx/conf/nginx.conf

图片 7

在server下添加

location / {
            root   /var/nginx/www;(网站根目录)
            index  index.html index.htm index.php;(添加index.php)
        }
        location ~ \.php {
            root /var/nginx/www;(网站根目录)
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_split_path_info   ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO  $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED
$document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        }

图片 8

 

3.2、重启nginx

哪些没有打开则省略

/usr/local/nginx/sbin/nginx (启动nginx)

否则

/usr/local/nginx/sbin/nginx -s reload(重启nginx)

图片 9

3.3、查看nginx状态

ps aux|grep nginx

图片 10

3.4、测试网站是还是不是正规访问

一、修改参数:

访问localhost:8080
Nginx 默许8080端口,那时已经得以访问了:
localhost:8080
会有一个暗许欢迎界面。

五、重启php-fpm、nginx

sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart

 

4、设置nginx的开机自启

4.1、设置nginx自启脚本

vi /etc/init.d/nginx

图片 11

4.2、修改文件权限

chmod a+x /etc/init.d/nginx

图片 12

4.3、加入chkconfig管理列表

chkconfig –add /etc/init.d/nginx

图片 13

4.4、设置/etc/init.d/nginx自启
chkconfig nginx on

图片 14

剧本内容请参考:

  1、内核修改

修改 php-fpm 文件

1.执行命令:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

2.找到目录下的 php-fpm 文件
/private/etc/php-fpm.conf

3.找到24行的 error_log ,改为(正行替换,注意 ‘;’ 和空格):
; error_log = /usr/local/var/log/php-fpm.log
否则 php-fpm 时会报错:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such
file or directory (2)

5、设置php-fpm开机自启

php-fpm的自启脚本在下载的php安装包中

5.1、复制php-fpm脚本

 cp /root/php/php-7.1.7/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm

图片 15

5.2、修改php-fpm权限

chmod a+x /etc/init.d/php-fpm

图片 16

5.3、加入chkfconfig服务

chkconfig –add /etc/init.d/php-fpm

图片 17

5.4、设置php-fpm自启

chkconfig php-fpm on

图片 18

5.5、复制php-ini(不是必须,可以简不难单)

php安装包提供了多个php.ini配置

php.ini-development 对应于
php.ini-dist,适合开发测试,如本地测试环境。
php.ini-production 对应于 php.ini-recommended
拥有较高的安全性设定,适合服务器上线运营当产品。

地点多个二选一即可

cp php.ini-development  /usr/local/php7/lib/php.ini

图片 19

 

到那里php-fpm的计划就马到功成了

sudo vim /etc/sysctl.conf

net.ipv4.tcp_max_syn_backlog = 4096
net.core.netdev_max_backlog = 4096

重新启动
sudo reboot

修改 Nginx 配置

1.打开 nginx.config 文件
/usr/local/etc/nginx/nginx.conf
未曾改动权限请调文件修改权限

2.找到 server 的 location 配置,给 index 加一个 index.php
location / {
root html;
index index.html index.htm index.php;
}

3.并打开 server 下被诠释的 location ~.php$(即除去代码前边的
‘#’),如下:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
4.并修改 fastcgi_param 参数
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
改为
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

6、重启查看php-fpm和nginx状态,测试网站是还是不是可以正常访问

  2、php-fpm配置修改

创建 index.php

在 /usr/local/var/www 目录下,删除 index.html,创建 index.php,输入
<?php phpinfo(); ?>

修改  /etc/php/7.1/fpm/pool.d/www.conf

listen.backlog = 4096

起步有关服务

sudo nginx
sudo php-fpm

下一场访问localhost:8080,看到 php 配置消息,就表明 ok 了

  sudo service php-fpm7.1 restart

其余命令

修改 nginx.conf 后,重载配置文件

sudo nginx -s reload

停止 nginx 服务器

sudo nginx -s stop

甘休 php-fpm可以直接在 Activity Monitor 中截止。也可以动用脚本来停。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图