cover-image 今天又折腾了一下VPS.

把php-fpm的运行用户改成了每个子用户, 而不是统一使用www-data用户, 这样的好处就是解决了php动态创建的文件属主和属主都是www-data, 普通用户反而没法删除这个文件的尴尬.

流程如下...

进入php5-fpm的配置目录/etc/php5/fpm/pool.d/为每个用户添加一个conf文件, 内容大概如下.(要替换$USERNAME)

[username]

user = $USERNAME  
group = $USERNAME

listen = /tmp/$USERNAME-fpm.sock  
listen.owner = $USERNAME  
listen.group = $USERNAME  
listen.mode = 0660

pm = dynamic  
pm.max_children = 10  
pm.start_servers = 3  
pm.min_spare_servers = 1  
pm.max_spare_servers = 3  

进入nginx的配置目录/etc/nginx/sites-enabled/把用户的php套接字路径改为(也要替换$USERNAME)

location ~ \.php$ {  
    fastcgi_pass unix:/tmp/$USERNAME-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

重启php5-fpm和装载nginx配置生效.

service php5-fpm restart  
nginx -s reload  

后话.

其实还有一个问题仍然存在, 用nginx直接反代的配置并没有通过apache, 这在一些使用.htaccess文件来设置rewrite规则的程序来讲(比如wordpress等)是不可接受的, 因为nginx的rewrite规则与apache并不通用. 我查了一下, 要在apache2开启fastcgimod还是比较麻烦的, 然后上课的点到了先去上课了, 下回有空再折腾吧~ 那些用.htaccess的就先proxypass apache把~

扫描二维码,分享此文章

Ling.'s Picture
Ling.

Web开发者. 前端,NodeJS 😈 大三, 找实习啦 ⬇️戳简历⬇️