我在ubuntu 12.04 LTS(x64)上用nginx + php-fpm(5.4.11)设置服务器,
我从存储库安装了nginx,并自己编译了PHP。 当我启动php-fpm和nginx时,所有东西都可以正常工作
sudo /etc/init.d/php-5.4.11-fpm start sudo service nginx start
我可以在网页上显示一个phpinfo,到目前为止还不错。
pid在/etc/php-5.4.11/php-fpm.conf中是这样设置的
pid = /var/run/php-5.4.11/php-fpm.pid
和/ etc / nginx / sites-available / default
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-5.4.11/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
现在,我想在服务器重新启动时启动PHP,所以我做了:
update-rc.d php-5.4.11-fpm defaults
但是,当我重新启动服务器,我得到这个日志文件中的错误:
ERROR: unable to bind listening socket for address '/var/run/php-5.4.11/php-fpm.sock': No such file or directory (2)
实际上,我自己创build的目录/var/run/php-5.4.11/已经消失了。 如果我再次创build它,并执行sudo /etc/init.d/php-5.4.11-fpm start,它将起作用。 但是,如果我重新启动服务器,目录将被删除,php-fpm将无法启动。
怎么了,我不明白 非常感谢你!
tmpfs可能会挂载到/ var / run。 换句话说,这是一个RAM磁盘,它在OS启动时是干净的。
在这种情况下,你应该把你的php-fpm池configuration的“pid”和“listen”指令直接指向/ var / run:
pid = /var/run/php-fpm.pid [www] listen = /var/run/php-fpm.sock