[CentOS7] Nginx 서버에서 PHP-FPM을 사용하여 PHP를 실행하도록 설정
환경
CentOS: 7.4
PHP: 7.2
Nginx: 1.14
하고 싶은 일
Nginx 서버 환경에서 PHP를 실행할 수 있도록 설정합니다.
루트 디렉토리를 /home/user_name/projects
로 설정합니다.
(여기는 자신이 좋아하는 디렉토리를 설정해도 괜찮습니다.)
전제 조건
다음 설치가 완료되었다고 가정합니다.
Nginx 서버 환경에서 PHP를 실행할 수 있도록 설정합니다.
루트 디렉토리를
/home/user_name/projects
로 설정합니다.(여기는 자신이 좋아하는 디렉토리를 설정해도 괜찮습니다.)
전제 조건
다음 설치가 완료되었다고 가정합니다.
설치 방법은 【CentOS】PHP, PHP-FPM, NginX 설치을 참조하십시오.
Nginx 설정
포트 설정
/etc/nginx/conf.d/default.conf
설정 파일을 편집합니다.
Apache와 동시에 시작하고 싶으므로 Apach에서 지정한 포트를 사용할 수 없습니다.
이번에는 Apache에서 80번을 지정하고 있기 때문에 Nginx에서는 8080번을 이용합니다.
/etc/nginx/conf.d/default.confserver {
listen 8080;
server_name localhost;
...
PHP 관련 설정
그런 다음 Nginx에서 PHP를 실행할 수 있도록 설정합니다.
설정할 파일은 동일합니다 /etc/nginx/conf.d/default.conf
.
기본 설정은 location ~ \.php$ {...}
전체가 주석 처리되어 있기 때문에 제거합니다.
또한 root
및 fastcgi_param
부분에 루트 디렉터리를 설정합니다.
/etc/nginx/conf.d/default.conf # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /home/user_name/projects;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user_name/projects$fastcgi_script_name;
include fastcgi_params;
}
설정을 반영
Nginx를 시작(재부팅)합니다.
터미널에서 다음 명령을 입력하여 실행합니다.
$ sudo systemctl restart nginx
PHP-FPM 설정
user와 group을 nginx로 변경합니다.
초기 설정에서는 apache가 되어 있으므로, 코멘트 아웃(혹은 삭제) 합니다.
/etc/php-fpm.d/www.conf;user = apache
user = nginx
;group = apache
group = nginx
설정을 반영
PHP-FPM을 다시 시작합니다.
터미널에서 다음 명령을 입력하여 실행합니다.
$ sudo systemctl restart nginx
Nginx에서 PHP 실행
실행 파일 만들기
루트 디렉토리에 index.php
를 만듭니다.
올바르게 설정되어 있으면 루트 디렉토리에 액세스할 때 Nginx가 index.php
를 실행합니다.
/home/user_name/projects/index.php<?php phpinfo(); ?>
PHP 실행
브라우저의 URL에 localhost:8080
를 입력하고 다음 화면이 표시되면 성공합니다 (8080은 자신이 설정한 Nginx의 포트 번호).
이것은 루트 디렉토리 ( /home/user_name/projects
)의 index.php
가 실행 된 결과입니다.
Reference
이 문제에 관하여([CentOS7] Nginx 서버에서 PHP-FPM을 사용하여 PHP를 실행하도록 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/u-dai/items/085e3570450aad811693
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
server {
listen 8080;
server_name localhost;
...
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /home/user_name/projects;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user_name/projects$fastcgi_script_name;
include fastcgi_params;
}
$ sudo systemctl restart nginx
user와 group을 nginx로 변경합니다.
초기 설정에서는 apache가 되어 있으므로, 코멘트 아웃(혹은 삭제) 합니다.
/etc/php-fpm.d/www.conf
;user = apache
user = nginx
;group = apache
group = nginx
설정을 반영
PHP-FPM을 다시 시작합니다.
터미널에서 다음 명령을 입력하여 실행합니다.
$ sudo systemctl restart nginx
Nginx에서 PHP 실행
실행 파일 만들기
루트 디렉토리에 index.php
를 만듭니다.
올바르게 설정되어 있으면 루트 디렉토리에 액세스할 때 Nginx가 index.php
를 실행합니다.
/home/user_name/projects/index.php<?php phpinfo(); ?>
PHP 실행
브라우저의 URL에 localhost:8080
를 입력하고 다음 화면이 표시되면 성공합니다 (8080은 자신이 설정한 Nginx의 포트 번호).
이것은 루트 디렉토리 ( /home/user_name/projects
)의 index.php
가 실행 된 결과입니다.
Reference
이 문제에 관하여([CentOS7] Nginx 서버에서 PHP-FPM을 사용하여 PHP를 실행하도록 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/u-dai/items/085e3570450aad811693
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php phpinfo(); ?>
Reference
이 문제에 관하여([CentOS7] Nginx 서버에서 PHP-FPM을 사용하여 PHP를 실행하도록 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/u-dai/items/085e3570450aad811693텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)