我一步一步地按照https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7的指示,但是当我重新启动php-fpm时,它失败了。
错误日志:
错误:无法绑定地址'var / run / php-fpm.d / www.conf'的侦听套接字:没有这样的文件或目录 错误:FPM初始化失败
环境:安装了PHP,MariaDB和NginX的CentOS 7安装在VirtualBox中。
日志/报告:
该期刊显示:
localhost.localdomain php-fpm[2574]: Error: unable to bind listening socket for address '/var/run/php-fpm.d/www.conf' : No such file or directory
localhost.localdomain php-fpm[2574]:Error: FPM initialization failed
localhost.localdomain systemd[1]: php-fpm.service: main process exited, code=exited, status=78/n/a
localhost.localdomain systemd[1]: Failed to start the php fastCGI process manager.
状态显示:
php-fpm.service - the php fastcgi process manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled)
Active: failed (result: exit-cod )
Process: 2639 ExecStart=/usr/sbin/php-fpm --nodaemonize (code=exited,
status=78)
Main PID:2639 (code=exited, status=78)
localhost.localdomain php-fpm[2639]: Error: unable to bind listening socket for address '/var/run/php-fpm.d/www.conf' : No such file or directory
localhost.localdomain php-fpm[2639]: ERROR: FPM initialization failed
localhost.localdomain steam[1]: failed to start the php fastCGI process manager.
localhost.localdomain steam[1]: Unit php-fpm.service entered failed state.
www.conf是
[www]
listen = /var/run/php-fpm.d/www.conf
listen.allowed_clients = 127.0.0.1
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 5
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
Nginx default.conf是
server{
listen 80;
server_name ip address;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ = 404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~\.php$ {
fastcgi_split_path_info ^(.+?\.php)(./*)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
并且,检查了cgi.fix_pathinfo = 0。
答案 0 :(得分:4)
为存储文件创建目录:
mkdir -p /var/run/
答案 1 :(得分:2)
对于fedora,它缺少/run/php-fpm
目录。我使用mkdir /run/php-fpm
现在启动php-fpm服务(我正在docker容器中使用它)
/usr/sbin/php-fpm
答案 2 :(得分:1)
在我的情况下,run
中没有/var/
目录。所以我只在run
/var/
目录
mkdir -p /var/run/
并启动php-fpm服务
sudo service php-fpm start