通过socket连接nginx 优化php-fpm 性能

Home / Article MrLee 2016-11-19 5119

配置PHP-fpm:

;listen = 127.0.0.1:9000  
listen=/dev/shm/php-fpm.sock;


配置nginx:

        location ~ \.php$ {
            root           /var/web;
            #fastcgi_pass   127.0.0.1:9000;
			fastcgi_pass   unix:/dev/shm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }


授权,这点很重要:

chown nginx.nginx /dev/shm/php.sock


这里nginx用户是nginx和php-fpm使用的unix用户,如果你的不是nginx,酌情修改。最后重启nginx:./nginx -s reload
 
后记:
再次研究把php和其它文件分离,最终测试成功!再补充一下方法:

WordPress 3.8终极加速方案,无需插件,页面执行

参考以上设置,不过需要注意一点,设置好之后要把/dev/shm/wp目录设置权限,不然图看不了,然后首页403提示!

 sudo chmod 777 -R /dev/shm/wordpress/


现在速度已经控制在0.1秒左右了,真帅!不过我的后台不知道怎么变成英文了,想了想,应该是分离出来的php文件,但是没有把语言包也放过去的原因。只要把语言包复制过去即可

 cp -rf wp-content/languages/ /dev/shm/wordpress/wp-content/


偷偷的说一句,英文的貌似比中文要快一些哦!
!!!严重提示
因为/dev/shm/是一个内存数据引用目录,所以你的服务器只要重启,你就需要重新把分离的纯php的wordpress目录复制于此,然后启动php-fpm和nginx的时候,需要把/dev/shm/目录重新授权。sock文件也要授权。不然nginx无访问权会报错的!必须和wp目录一起授权!


本文链接:https://www.it72.com/11223.htm

推荐阅读
最新回复 (2)
  • wyzpro 2016-11-20
    引用 2
    最新补充一点配置php和其它文件分离的nginx配置
        server {
            listen       80;
            server_name  localhost;
            root   /var/www/wordpress;
            index  index.html index.htm index.php;
            location / {
                include /home/wordpress/.htaccess;
    			try_files $uri /index.php;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            location ~ \.php$ {
                fastcgi_index  index.php;
    			fastcgi_pass   unix:/dev/shm/php-fpm.sock;
    			fastcgi_param  SCRIPT_FILENAME  /dev/shm/wordpress/$fastcgi_script_name;
                include        fastcgi_params;
            }
        }
    
  • qishi 2017-7-27
    引用 3
    PHP-fpm路径一般在/usr/local/php5/etc下面。
返回