nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기
환경
소개
nginx에서 PHP 실행 환경을 만들어 브라우저 확인까지 하려고합니다.
nginx의 설치는 이쪽의 기사를 봐 주세요↓
- CentOS 7에 nginx를 설치하고 브라우저를 확인할 때까지
CentOS 7의 환경 구축은 이쪽의 기사를 봐 주세요↓
- Mac에서 VirtualBox를 사용하여 CentOS 7을 설치해 보았습니다.
- VirtualBox의 네트워크 설정을 괴롭히고 안전하고 쾌적한 개발을 할 수 있도록 했다
nginx에서 PHP를 이동하려면
Apache는 설치할 때 PHP 실행 환경을 갖추고 있습니다.
PHP는 Apache용으로, 동일한 프로세스로 움직이는 모듈판이라고 하는 것이 준비되어 있어 이것이 Apache의 인스톨시에 함께 들어 있기 때문에, PHP의 프로그램을 움직일 수가 있습니다.
그에 비해 nginx는 설치한 것만으로는 PHP 프로그램을 실행할 수 없습니다.
왜냐하면 nginx 용 모듈 버전은 제공되지 않기 때문입니다. 따라서 nginx에서 PHP를 실행하려면 CGI 버전의 PHP를 사용해야합니다. (덧붙여서, 아파치는 CGI 버전도있는 것 같습니다 ...! 욕심입니다.)
CGI 버전의 PHP를 움직이려면 PHP-CGI
라는 것에 요청을 보내야합니다만, nginx만으로는 그것이 할 수 없습니다. . . (어째서 할 수 없는지는 나중에 조사해~~)
그럼 어떻게 할까, 거기서 등장하는 것이, PHP-FPM
라고 하는 프로그램입니다!
이 PHP-FPM이 괜찮은 일, nginx에서 PHP-CGI에 대한 요청을 풀어주고, 드디어 PHP 프로그램이 움직여준다는 것입니다.
뭐, 어쨌든 PHP를 nginx로 움직이고 싶다면 PHP-FPM 넣으라고 하는 것이군요.
PHP 설치
yum에서 차차와 설치.
// インストール
# yum -y install php
// 確認
# php --version
php의 준비는 이것만으로 충분합니다.
PHP-FPM 설치 및 설정
이쪽도 yum으로 인스톨.
# yum -y install php-fpm
설정 파일은, /etc/php-fpm.d/
부하의, www.conf
라고 하는 파일입니다.
# vi /etc/php-fpm.d/www.conf
설정 내용은 다음과 같습니다.
www.conf- user = apache
- group = apache
+ user = nginx
+ group = nginx
nginx에서 설정
설정 파일은, /etc/nginx/conf.d/
부하의, default.conf
라고 하는 파일입니다.
# vi /etc/nginx/conf.d/default.conf
default.conf# ...(省略)
location / {
root /usr/share/nginx/html;
index index.php; # index.phpを設定
}
# ...(省略)
# 以下の部分のコメントアウトを消す
location ~ \.php$ {
root /usr/share/nginx/html; # ドキュメントルートを設定
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # デフォルトでは、「/scripts」となっているので、「ドキュメントルート($document_root)」に変更する
include fastcgi_params;
}
# ...(省略)
표시할 PHP 파일 준비
위의 설정으로 문서 루트를 /usr/share/nginx/html
로 하고 있으므로 /usr/share/nginx/html
아래에 index.php
를 작성합시다.
# touch /usr/share/nginx/html/index.php
확인용이므로, 적당히 echo 해 봅시다.
index.php<?php
echo('PHP動いたよ!');
?>
브라우저에서 확인
nginx와 php-fpm 설정을 변경했으므로 둘 다 재부팅하여 설정을 반영합니다.
# systemstl restart nginx
# systemctl restart php-fpm
※CentOS 6 以下は、serviceコマンドを使ってください。
그리고는 http://CentOSのIP:nginxで設定したポート番号/index.php
로 접속해, 브라우저 확인할 수 있으면 완료!
Reference
이 문제에 관하여(nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nooboolean/items/fcc2a264e341b2bef567
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Apache는 설치할 때 PHP 실행 환경을 갖추고 있습니다.
PHP는 Apache용으로, 동일한 프로세스로 움직이는 모듈판이라고 하는 것이 준비되어 있어 이것이 Apache의 인스톨시에 함께 들어 있기 때문에, PHP의 프로그램을 움직일 수가 있습니다.
그에 비해 nginx는 설치한 것만으로는 PHP 프로그램을 실행할 수 없습니다.
왜냐하면 nginx 용 모듈 버전은 제공되지 않기 때문입니다. 따라서 nginx에서 PHP를 실행하려면 CGI 버전의 PHP를 사용해야합니다. (덧붙여서, 아파치는 CGI 버전도있는 것 같습니다 ...! 욕심입니다.)
CGI 버전의 PHP를 움직이려면
PHP-CGI
라는 것에 요청을 보내야합니다만, nginx만으로는 그것이 할 수 없습니다. . . (어째서 할 수 없는지는 나중에 조사해~~)그럼 어떻게 할까, 거기서 등장하는 것이,
PHP-FPM
라고 하는 프로그램입니다!이 PHP-FPM이 괜찮은 일, nginx에서 PHP-CGI에 대한 요청을 풀어주고, 드디어 PHP 프로그램이 움직여준다는 것입니다.
뭐, 어쨌든 PHP를 nginx로 움직이고 싶다면 PHP-FPM 넣으라고 하는 것이군요.
PHP 설치
yum에서 차차와 설치.
// インストール
# yum -y install php
// 確認
# php --version
php의 준비는 이것만으로 충분합니다.
PHP-FPM 설치 및 설정
이쪽도 yum으로 인스톨.
# yum -y install php-fpm
설정 파일은, /etc/php-fpm.d/
부하의, www.conf
라고 하는 파일입니다.
# vi /etc/php-fpm.d/www.conf
설정 내용은 다음과 같습니다.
www.conf- user = apache
- group = apache
+ user = nginx
+ group = nginx
nginx에서 설정
설정 파일은, /etc/nginx/conf.d/
부하의, default.conf
라고 하는 파일입니다.
# vi /etc/nginx/conf.d/default.conf
default.conf# ...(省略)
location / {
root /usr/share/nginx/html;
index index.php; # index.phpを設定
}
# ...(省略)
# 以下の部分のコメントアウトを消す
location ~ \.php$ {
root /usr/share/nginx/html; # ドキュメントルートを設定
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # デフォルトでは、「/scripts」となっているので、「ドキュメントルート($document_root)」に変更する
include fastcgi_params;
}
# ...(省略)
표시할 PHP 파일 준비
위의 설정으로 문서 루트를 /usr/share/nginx/html
로 하고 있으므로 /usr/share/nginx/html
아래에 index.php
를 작성합시다.
# touch /usr/share/nginx/html/index.php
확인용이므로, 적당히 echo 해 봅시다.
index.php<?php
echo('PHP動いたよ!');
?>
브라우저에서 확인
nginx와 php-fpm 설정을 변경했으므로 둘 다 재부팅하여 설정을 반영합니다.
# systemstl restart nginx
# systemctl restart php-fpm
※CentOS 6 以下は、serviceコマンドを使ってください。
그리고는 http://CentOSのIP:nginxで設定したポート番号/index.php
로 접속해, 브라우저 확인할 수 있으면 완료!
Reference
이 문제에 관하여(nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nooboolean/items/fcc2a264e341b2bef567
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// インストール
# yum -y install php
// 確認
# php --version
이쪽도 yum으로 인스톨.
# yum -y install php-fpm
설정 파일은,
/etc/php-fpm.d/
부하의, www.conf
라고 하는 파일입니다.# vi /etc/php-fpm.d/www.conf
설정 내용은 다음과 같습니다.
www.conf
- user = apache
- group = apache
+ user = nginx
+ group = nginx
nginx에서 설정
설정 파일은, /etc/nginx/conf.d/
부하의, default.conf
라고 하는 파일입니다.
# vi /etc/nginx/conf.d/default.conf
default.conf# ...(省略)
location / {
root /usr/share/nginx/html;
index index.php; # index.phpを設定
}
# ...(省略)
# 以下の部分のコメントアウトを消す
location ~ \.php$ {
root /usr/share/nginx/html; # ドキュメントルートを設定
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # デフォルトでは、「/scripts」となっているので、「ドキュメントルート($document_root)」に変更する
include fastcgi_params;
}
# ...(省略)
표시할 PHP 파일 준비
위의 설정으로 문서 루트를 /usr/share/nginx/html
로 하고 있으므로 /usr/share/nginx/html
아래에 index.php
를 작성합시다.
# touch /usr/share/nginx/html/index.php
확인용이므로, 적당히 echo 해 봅시다.
index.php<?php
echo('PHP動いたよ!');
?>
브라우저에서 확인
nginx와 php-fpm 설정을 변경했으므로 둘 다 재부팅하여 설정을 반영합니다.
# systemstl restart nginx
# systemctl restart php-fpm
※CentOS 6 以下は、serviceコマンドを使ってください。
그리고는 http://CentOSのIP:nginxで設定したポート番号/index.php
로 접속해, 브라우저 확인할 수 있으면 완료!
Reference
이 문제에 관하여(nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nooboolean/items/fcc2a264e341b2bef567
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# vi /etc/nginx/conf.d/default.conf
# ...(省略)
location / {
root /usr/share/nginx/html;
index index.php; # index.phpを設定
}
# ...(省略)
# 以下の部分のコメントアウトを消す
location ~ \.php$ {
root /usr/share/nginx/html; # ドキュメントルートを設定
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # デフォルトでは、「/scripts」となっているので、「ドキュメントルート($document_root)」に変更する
include fastcgi_params;
}
# ...(省略)
위의 설정으로 문서 루트를
/usr/share/nginx/html
로 하고 있으므로 /usr/share/nginx/html
아래에 index.php
를 작성합시다.# touch /usr/share/nginx/html/index.php
확인용이므로, 적당히 echo 해 봅시다.
index.php
<?php
echo('PHP動いたよ!');
?>
브라우저에서 확인
nginx와 php-fpm 설정을 변경했으므로 둘 다 재부팅하여 설정을 반영합니다.
# systemstl restart nginx
# systemctl restart php-fpm
※CentOS 6 以下は、serviceコマンドを使ってください。
그리고는 http://CentOSのIP:nginxで設定したポート番号/index.php
로 접속해, 브라우저 확인할 수 있으면 완료!
Reference
이 문제에 관하여(nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nooboolean/items/fcc2a264e341b2bef567
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# systemstl restart nginx
# systemctl restart php-fpm
※CentOS 6 以下は、serviceコマンドを使ってください。
Reference
이 문제에 관하여(nginx + PHP-FPM으로 CentOS 7에서 PHP 실행 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nooboolean/items/fcc2a264e341b2bef567텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)