centos7 上 yum 安装 php 5.6
<code>vim /etc/php-fpm.d/www.conf </code>
修改
<code>;listen = 127.0.0.1:9000 listen=/dev/shm/php-fcgi.sock</code>
创建php-fcgi.sock
文件
<code>touch listen=/dev/shm/php-fcgi.sock chmod 777 /dev/shm/php-fcgi.sock</code>
重启php-fpm
<code>systemctl restart php-fpm</code>
但是/dev/shm/php-fcgi.sock
还是普通文件 ,不是socket文件,查看 log 没报错,如何解决?
centos7 上 yum 安装 php 5.6
<code>vim /etc/php-fpm.d/www.conf </code>
修改
<code>;listen = 127.0.0.1:9000 listen=/dev/shm/php-fcgi.sock</code>
创建php-fcgi.sock
文件
<code>touch listen=/dev/shm/php-fcgi.sock chmod 777 /dev/shm/php-fcgi.sock</code>
重启php-fpm
<code>systemctl restart php-fpm</code>
但是/dev/shm/php-fcgi.sock
还是普通文件 ,不是socket文件,查看 log 没报错,如何解决?
删除普通文件,以Unix Socket方式运行时,sock文件由php-fpm创建
配置文件不是写着了么,php-fpm会自己生成这个socket文件,并且被master进程所引用
<code>; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; specific port; ; '[::]:port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. </code>
我感觉是配置写错了。
php-fpm.conf
<code>listen = /dev/shm/php-fcgi.sock listen.owner = www listen.group = www listen.mode = 0660</code>
nginx.conf
<code>fastcgi_pass unix:/dev/shm/php-fcgi.sock;</code>