나는 수년 동안 VPS를 사용해 왔습니다. 모든 것이 잘 작동합니다. 서버는 PHP 7과 nginx를 실행합니다.
오늘은 홈페이지가 조금 느리게 운영되고 있습니다. 그래서 서버에 로그인해서 실행하기로 결정했습니다 shutdown -r now
.
다시 시작한 후 502 Bad Gateway
브라우저와 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory)
nginx error.log에 표시됩니다.
재부팅하는 동안 무엇이 잘못될 수 있는지 모르겠습니다. journalctl
시작 시 오류가 표시되지 않습니다 .
MySQL이 잘 시작됩니다.
php -v
PHP 7.2.22
nginx -v
nginx version: nginx/1.12.2
내 가상 호스트에 있는 일부 부분은 다음과 같습니다.
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
어쩌면 PHP5에서 실행 중이고 재부팅 시 PHP7로 업데이트됩니까? 가능합니까?
마지막 yum history
설치는 2018년이었습니다.
ls -la |grep php
-rwxr-xr-x. 1 root root 4696240 Jul 20 2018 php
-rwxr-xr-x. 1 root root 4589728 Jul 20 2018 php-cgi
-rwxr-xr-x. 1 root root 4776 Jul 20 2018 phpize
끝에는 2018년부터 있었다고 되어 있어서 시작 후 새로운 PHP가 설치되었는지 의심스럽습니다. 어쩌면 문제가 다른 곳에 있는 것은 아닐까?
추신: site-enabled/ 폴더가 없습니다. 가상 호스트는 이 폴더에 있습니다 /etc/nginx/vhosts.d
.
누군가가 문제를 해결하는 데 도움을 줄 수 있기를 바랍니다.
편집하다:
도움이 되는지 모르겠습니다. /var/run
나는 비어 있는 폴더가 하나만 있다는 것을 발견했습니다 php-fpm
. 비슷한 구성을 가진 다른 2개의 VPS(아직 작동 중)에는 두 개의 프로젝트와 php7-fpm.sock
비어 있지 않은 폴더가 있습니다 .php-fpm
PHP가 거기에 양말을 만들지 않는 것처럼요?
나는 /etc/php-fpm.conf
그것을 가지고 있다 pid = /var/run/php-fpm/php-fpm.pid
./etc/php-fpm.d/www.conf
listen = /var/run/php7-fpm.sock
편집 2:
나는 달리고 service php-fpm restart
이제 양말을 만듭니다. 작동 중입니다.
이 주제에 대한 마지막 질문에 답하려면: 지난 몇 년 동안 서버를 여러 번 다시 시작했는데 모든 것이 정상입니다. 오늘 다시 시작한 후 이 문제가 발생했습니다. 다시 시작했는데 여전히 같은 문제가 발생합니다. php-fpm을 수동으로 다시 시작해야 합니다.
- 왜 이 문제가 발생하나요?
- 앞으로 이 문제를 방지하려면 무엇을 수행/점검/수정해야 합니까?
편집 3: 며칠 동안 일했습니다. 오늘 나는 우분투를 다시 시작하기로 결정했습니다.
재부팅 후 게이트웨이가 다시 손상되었습니다.
[root@mysite ~]# ps faux|grep php
root 12149 0.0 0.0 112704 964 pts/0 S+ 11:33 0:00 \_ grep --color=auto php
그런 다음 다음을 시도합니다.
[root@mysite~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
다시:
[root@www01 ~]# ps faux|grep php
root 12152 0.0 0.0 112704 964 pts/0 S+ 11:37 0:00 \_ grep --color=auto php
그런 다음 다음을 시도합니다.
[root@mysite~]# service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service
[root@mysite~]# ps faux|grep php
root 12176 0.0 0.0 112704 960 pts/0 S+ 11:38 0:00 \_ grep --color=auto php
root 12169 4.5 1.5 473028 16000 ? Ss 11:38 0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 12170 0.0 0.7 473028 7668 ? S 11:38 0:00 \_ php-fpm: pool www
nginx 12171 0.0 0.7 473028 7668 ? S 11:38 0:00 \_ php-fpm: pool www
nginx 12172 0.0 0.7 473028 7668 ? S 11:38 0:00 \_ php-fpm: pool www
nginx 12173 0.0 0.7 473028 7668 ? S 11:38 0:00 \_ php-fpm: pool www
nginx 12174 0.0 0.7 473028 7672 ? S 11:38 0:00 \_ php-fpm: pool www
하지만 이번에는 service php-fpm restart
PHP 프로세스를 실행한 후에도 게이트웨이가 끔찍합니다.
Journalctl에서 다음을 볼 수 있습니다.
Feb 18 11:45:47 mysitepolkitd[658]: Registered Authentication Agent for unix-process:12210:153462 (system bus name :1.19 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Feb 18 11:45:47 mysite systemd[1]: Stopping The PHP FastCGI Process Manager...
Feb 18 11:45:47 mysite systemd[1]: Starting The PHP FastCGI Process Manager...
Feb 18 11:45:47 mysite systemd[1]: Started The PHP FastCGI Process Manager.
Feb 18 11:45:47 mysite polkitd[658]: Unregistered Authentication Agent for unix-process:12210:153462 (system bus name :1.19, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
어떤 아이디어가 있나요?