Background
앞서 라즈베리파이에 CentOS 7을 설치해두었고, 돌아와서 빠르게 서버 환경을 구축하기 위해 국경일을 활용하여 빠르게 배포하기 위해 원클릭 lnmp를 준비했습니다. 그런데 설치가 실패했어요...
오류
제 작은 라즈베리파이에 설치했는데 결국 CPU가 강력하지 않아서 컴파일만 할 수 있었어요. 점심 먹고 돌아와 보니 컴파일이 완료된 것 같았는데 실패하니 아래와 같은 오류 메시지가 뜹니다
============================== Check install ============================== Checking ... Nginx: OK MariaDB: OK Error: PHP install failed. Sorry, Failed to install LNMP! Please visit feedback errors and logs. You can download /root/lnmp-install.log from your server,and upload lnmp-install.log to LNMP Forum.
PHP 설치에 실패해도 상관없습니다. 오류가 보고되면 문제가 무엇인지 다시 시도하고 ./upgrade.sh 스크립트를 사용하여 다시 설치했지만 오류가 계속 보고됩니다
+-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | | +-------------------------------------------+ Starting LNMP... Starting nginx... done Starting MySQL.... SUCCESS! /bin/lnmp: line 27: /etc/init.d/php-fpm: No such file or directory ======== upgrade php failed ====== upgrade php log: /root/upgrade_lnmp_php.log You upload upgrade_lnmp_php.log to LNMP Forum for help.
Finding
주의 깊게 설치 로그를 확인하고 주요 정보
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/ make: *** No targets specified and no makefile found. Stop. make: *** No rule to make target `install'. Stop.
여기에 "libcurl을 설치하세요"라는 오류가 있습니다. 이상합니다. VPS에 설치했을 때 이 문제가 발생하지 않았습니다. Raspberry용 CentOS가 이것을 중성화했을까요? ?
Solution
오류 메시지에 따라 설치하고 yum을 사용하여 직접 설치해 보세요. 그런데 이 내용은 패키지 관리자에 없어서 직접 다운로드해서 컴파일하고 설치합니다
CentOS compile SVNdocx
wget https://curl.haxx.se/download/curl-7.50.3.tar.gz tar zvxf curl-7.50.3.tar.gz cd curl-7.50.3 ./configure --enable-shared make make install
긴 컴파일 끝에 드디어 컴파일 설치 성공했습니다
계속 PHP 설치를 시도하니 이번에는 정상적으로 PHP 컴파일이 가능합니다
Generating files configure: creating ./config.status creating main/internal_functions.c creating main/internal_functions_cli.c +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. config.status: creating php5.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/fpm/php-fpm.conf config.status: creating sapi/fpm/init.d.php-fpm config.status: creating sapi/fpm/php-fpm.service config.status: creating sapi/fpm/php-fpm.8 config.status: creating sapi/fpm/status.html config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands
긴 컴파일 끝에 드디어...
컴파일이 완료되었습니다, 그런데...
+-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | | +-------------------------------------------+ Starting LNMP... Starting nginx... done Starting MySQL...... SUCCESS! Starting php-fpm Failed loading /usr/local/zend/ZendGuardLoader.so: /usr/local/zend/ZendGuardLoader.so: cannot open shared object file: No such file or directory done ======== upgrade php completed ======
아직 문제가 있는 것 같기는 한데 큰 문제는 아닌 것 같습니다. 그런 게 있는지 알아보기 위해 이 디렉토리에 가봤습니다. 그런게 있다는걸 알게됐네요 정말 신기하네요 검색해보니 lnmp 포럼에 이런게 있더라구요 정말 이런 문제를 겪으신 분이 계시더군요. 문제는 다운로드한 것이 손상되었기 때문입니다. 지금은 무시하고 php.ini에서 직접 주석을 달거나 전체 재설치를 직접 다운로드하면 됩니다.
공식 zend에서 32비트 so 파일을 다시 다운로드해서 넣어봤는데 여전히 작동하지 않는 것을 발견했습니다. PHP 5.4.45 기본 버전을 다시 설치해 보았는데 여전히 컴파일 중입니다. ...
Update
우여곡절 끝에 완료, PHP를 컴파일한 후에도 여전히 실패했음을 발견했습니다. 오류 메시지는 다음과 같습니다
[root@rpi2 ~]# ls /usr/local/zend/ ZendGuardLoader.so
+-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | | +-------------------------------------------+ Starting LNMP... Starting nginx... done Starting MySQL..... SUCCESS! Starting php-fpm /etc/init.d/php-fpm:行57: /usr/local/php/sbin/php-fpm: 没有那个文件或目录 failed ======== upgrade php failed ====== upgrade php log: /root/upgrade_lnmp_php.log You upload upgrade_lnmp_php.log to LNMP Forum for help. 显示的是找不到php-fpm这个文件,于是我想查找下这个文件在哪 $ whereis php-fpm php-fpm: /usr/bin/php-fpm /usr/sbin/php-fpm /etc/php-fpm.conf /etc/php-fpm.d /usr/share/man/man8/php-fpm.8.gz 通过查找发现确实不在那个目录下面,这个简单,直接从/usr/sbin下面把php-fpm复制过去就好了
$ cd /usr/local/php/ $ ls etc php-fpm $ sudo mkdir sbin $ sudo mv php-fpm sbin/ $ lnmp restart Error: You must be root to run this script! [kbdancerrpi@rpi2 php]$ sudo lnmp restart +-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | | +-------------------------------------------+ Stoping LNMP... Stoping nginx... done Shutting down MySQL. SUCCESS! Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ? Starting LNMP... Starting nginx... done Starting MySQL..... SUCCESS! Starting php-fpm [01-Jan-1970 13:18:55] ERROR: failed to open error_log (/usr/local/php/var/log/php-fpm.log): No such file or directory (2) [01-Jan-1970 13:18:55] ERROR: failed to post process the configuration [01-Jan-1970 13:18:55] ERROR: FPM initialization failed failed
여전히 오류를 보고합니다. 계속하세요
$ cd /usr/local/php/ $ sudo mkdir var $ cd var/ $ sudo mkdir log $ cd log/ $ ls $ sudo touch php-fpm.log $ sudo lnmp restart +-------------------------------------------+ | Manager for LNMP, Written by Licess | +-------------------------------------------+ | | +-------------------------------------------+ Stoping LNMP... Stoping nginx... done Shutting down MySQL. SUCCESS! Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ? Starting LNMP... Starting nginx... done Starting MySQL..... SUCCESS! Starting php-fpm [01-Jan-1970 13:20:18] ERROR: Unable to create the PID file (/usr/local/php/var/run/php-fpm.pid).: No such file or directory (2) [01-Jan-1970 13:20:18] ERROR: FPM initialization failed failed
좋아요, 드디어 완료되었습니다. 와, 정말 놀라운 일이네요. lnmp 작성자가 ARM에서 실행할 때 문제를 일으킬지 여부를 테스트하지 않았으면 좋겠습니다. 개선될 수 있습니다...
위 내용은 ARM용 CentOS 7에서 원클릭 Lnmp 설치에 실패함의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!