>  기사  >  백엔드 개발  >  Linux php7-fpm이 시작되지 않으면 어떻게 해야 할까요?

Linux php7-fpm이 시작되지 않으면 어떻게 해야 할까요?

藏色散人
藏色散人원래의
2023-02-20 09:20:464650검색

Linux php7-fpm 시작 실패에 대한 해결 방법: 1. "php-fpm.conf" 파일에서 "error_log" 항목을 수정합니다. 2. php 구성 파일의 위치를 ​​수정합니다. 3. nginx를 다음 사용자 이름으로 수정합니다. 현재 시스템 ;4. nginx 사용자 및 사용자 그룹을 직접 생성합니다.

Linux php7-fpm이 시작되지 않으면 어떻게 해야 할까요?

이 튜토리얼의 운영 환경: Windows 10 시스템, php7.2.1 버전, DELL G3 컴퓨터

Linux php7-fpm이 시작되지 않으면 어떻게 해야 합니까?

php-fpm 시작 실패 해결 방법(centOS에 PHP 설치 후)

centOS7.0에서 php7.2.1을 컴파일하고 설치한 후 php 확장이 추가되었으므로 php-fpm을 다시 시작해야 합니다.

1. 먼저 php-fpm 구성에 대해 이야기하겠습니다.

초기 설치 후에는 이러한 파일을 하나씩 생성한 다음 시작해야 합니다. 오류가 없으면 "2. php-fpm 시작 오류:"를 읽을 필요가 없습니다.

1. php-fpm

cp php.ini-development /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

2 구성 정보

php-fpm 시작:

/usr/local/php/sbin/php-fpm

2. fpm 시작 오류:

원인 및 해결 방법:

1. 직접 실행하면 구성 파일을 찾을 수 없다는 오류가 발생합니다.

$ php-fpm

[11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
[11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
[11-Jan-2014 16:03:03] ERROR: FPM initialization failed

루트 권한(sudo)이 필요한 /private/etc/ 디렉터리에 구성 파일을 생성하거나(sudo)

일반 사용자 권한이 있는 디렉터리에 구성 파일을 배치하고 다음을 통해 구성 파일의 위치를 ​​지정할 수 있습니다. --fpm-config 매개변수는 다음과 같습니다.

# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf
$ php-fpm --fpm-config /etc/php-fpm.conf
[11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
[11-Jan-2014 16:10:49] ERROR: failed to post process the configuration
[11-Jan-2014 16:10:49] ERROR: FPM initialization failed

오류 메시지는 다음과 같습니다. "log" 파일은 기본적으로 /usr/var 디렉터리에서 작동하기 때문입니다. 파일을 수정하여 올바른 로그 파일 경로를 지정하세요

$ vim /usr/local/etc/php-fpm.conf

php-fpm.conf 파일을 수정하세요. php-fpm에서 error_log 항목의 기본 접두사는 /usr/var이지만 해당 경로가 없습니다.

error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

또는 수정하지 마세요. 구성 파일의 구성 항목 경로. php-fpm(-p)의 실행 매개변수에서 상대 경로 접두어

$ php-fpm --fpm-config /php-fpm.conf  --prefix /usr/local/var

이 시점에서 php-fpm 데몬은 기본적으로 다음과 같이 지정할 수 있습니다. 올바르게 시작되었습니다.

오류 메시지:

[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY
[12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf'
[12-Jul-2013 17:18:57] ERROR: FPM initialization failed

2. 오류의 주요 원인은 /usr/local/php5/sbin/php-fpm 구성 오류입니다. 주의 깊게 확인하세요. 내 실수는 여기 그룹 = www에 = 기호가 없다는 것입니다. 문제가 발생했습니다

[root@localhost ~]# /usr/local/php5/sbin/php-fpm
PHP:  syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211

3. php-fpm을 시작할 때 오류: [pool www] can get uid for user 'nginx'

방법 1:

php7을 컴파일한 후 다음 명령을 사용하세요. to start

/usr/local/php/sbin/php-fpm

그러면 다음과 같은 오류가 보고됩니다.

[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx'
[07-Dec-2018 17:59:31] ERROR: FPM initialization failed

www.conf

vi /usr/local/php/etc/php-fpm.d/www.conf

에서 php 구성 파일 위치를 수정하세요. nginx를 다음과 같이 현재 시스템의 사용자 이름으로 변경하세요.

; Unix user/group of processes
 ; Note: The user is mandatory. If the group is not set, the default user's group
 ;       will be used.
 user = www.emam.cn
 group = www.emam.cn

방법 2:

nginx 사용자 및 사용자 그룹 직접 만들기

useradd nginx
groupadd nginx
usermod -G nginx nginx

3.php-fpm 콘텐츠 확장

Start php-fpm:

/usr/local/php/sbin/php-fpm

php 5.3.3 이상 php-fpm은 더 이상 php-fpm을 지원하지 않습니다. /local/php/sbin/php- fpm (start|stop|reload) 및 기타 명령이므로 더 이상 이전 명령을 보지 마십시오. 신호 제어를 사용해야 합니다.

마스터 프로세스는 다음 신호를 이해할 수 있습니다

INT, TERM 즉시 종료

QUIT 원활하게 종료

USR1 로그 파일 다시 열기

USR2는 모든 작업자 프로세스를 원활하게 다시 로드하고 구성 및 바이너리 모듈을 다시 로드합니다.

간단하고 직접적인 다시 시작 방법:

마스터 확인 php-fpm의 프로세스 번호를 먼저

# ps aux|grep php-fpm
root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm
root     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool www
nobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www

php-fpm을 다시 시작하세요:

kill -USR2 42891

확인.

위 해결 방법은 일반적으로 php-fpm.pid 파일이 생성되지 않을 때 사용됩니다. php-fpm.pid를 생성하려면 다음 해결 방법을 사용하세요.

위의 마스터 프로세스에서 볼 수 있듯이 matster는 다음을 사용합니다. /usr/local/ php/etc/php-fpm.conf 구성 파일의 경우 cat /usr/local/php/etc/php-fpm.conf가 발견되었습니다.

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid

pid 파일 경로는 /usr/local에 있어야 합니다. /php/var/run/php -fpm.pid, 주석 처리되었기 때문에 생성되지 않습니다. 주석을 제거한 다음 -USR2 42891을 종료합니다. php-fpm을 다시 시작하면 다음에 pid 파일이 생성됩니다. , 다음 명령을 사용하여 php-fpm을 다시 시작하고 닫을 수 있습니다:

php-fpm 닫기:

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'

php-fpm 다시 시작:

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 Linux php7-fpm이 시작되지 않으면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.