WEB Server - NGINX와 PHP 연동시 HTML 파일에서 PHP 실행하기
WEB Server - NGINX와 PHP 연동시 HTML 파일에서 PHP 실행하기
이번 포스팅에서는 HTML 에서 PHP 실행 설정을 알아보겠습니다.
NGINX 이전 글 :
서버와 클라이언트 그리고 HTTP - https://server-talk.tistory.com/291
WEB Server - NGINX 알아보기 - https://server-talk.tistory.com/297
WEB Server - NGINX Comfile 설치하기 - https://server-talk.tistory.com/301
WEB Server - NGINX 서비스 제어 - https://server-talk.tistory.com/302
WEB Server - NGINX 구성파일 및 기본설정 - CentOS 7 - https://server-talk.tistory.com/303
WEB Server - NGINX HTTP 설정 - CentOS 7 - https://server-talk.tistory.com/304
WEB Server - NGINX PHP 5.2 연동하기 - CentOS 7 - https://server-talk.tistory.com/307
WEB Server - NGINX LOCATION 블록 알아보기 - CentOS 7- https://server-talk.tistory.com/310
WEB Server - NGINX LOCATION 블록 사용법 - CentOS 7- https://server-talk.tistory.com/311
WEB Server - NGNINX 기본 상태 정보(현황 모듈) 알아보기 - https://server-talk.tistory.com/313
WEB Server - NGNINX 기본 인증(접근제한) 알아보기 - https://server-talk.tistory.com/314
PHP 관련 글 :
WEB Server - NGINX Comfile 설치하기 - https://server-talk.tistory.com/301
WEB Server - NGINX PHP 연동하기 - CentOS 7 - https://server-talk.tistory.com/307
WEB Server - NGINX PHP 5.3 설치하기 - CentOS 7 - https://server-talk.tistory.com/327
WEB Server - PHP 7.x 컴파일 설치하기 - CentOS 7 - https://server-talk.tistory.com/312
WEB Server - PHP 확장 모듈(phpize) 알아보기 - https://server-talk.tistory.com/316
WEB Server - PHP zip 확장 모듈 설치하기 - https://server-talk.tistory.com/317
WEB Server - PHP-FPM 설정하기 - https://server-talk.tistory.com/324
| PHP-FPM 보안 |
초기에 NGINX, PHP-FPM 설치후 PHP 확장자가 아니면 실행되지 않는 기능이 있습니다 HTML 확장자를 가진 파일을 실행할 경우 Access denied 페이지로 작동을 하지 않으며, php-fpm에서 security.limit_extensions 옵션에 실행하실 확장자 파일을 추가하시면 됩니다
| PHP-FPM 확장자 실행파일 설정하기 |
PHP-FPM 설정하기
vi /usr/local/php53/conf/php-fpm.conf . . . security.limit_extensions = .php .php3 .php4 .php5 .html .htm; . . .
PHP-FPM 설정파일에 security.limit_extensions에 실행을 원하실 확장자 파일을 추가하시면 됩니다.
| NGINX 확장자 실행파일 설정하기 |
PHP-FPM 뿐만 아니라 NGINX에서도 별도의 확장자 실행이 설정이 필요합니다
1. NGINX PHP 연동 수정 전
server { listen 192.168.85.177:80; server_name server-talk.com; root /home/server_talk/public_html; access_log /usr/local/nginx/logs/server-talk.com.access.log; error_log /usr/local/nginx/logs/server-talk.com.error.log; # 사용자 요청파일이 php 확장자 파일을 요청할때 사용됩니다. location ~ \.php$ { #PHP-FPM에서 지정한 IP와 포트를 입력합니다. fastcgi_pass 192.168.85.177:9001; #PHP-FPM에 전달하게될 스크립트 파일명 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #FastCGI 관련 구성 설정 정보를 포함합니다. include fastcgi_params; } }
위 설정 내용은 NGINX와 PHP 연동 설정이며, 확장자 처리에 필요한 확장자를 정의해야 됩니다
2. NGINX PHP 연동 수정 후
server { listen 192.168.85.177:80; server_name server-talk.com; root /home/server_talk/public_html; access_log /usr/local/nginx/logs/server-talk.com.access.log; error_log /usr/local/nginx/logs/server-talk.com.error.log; # 사용자 요청파일이 php 확장자 파일을 요청할때 사용됩니다. location ~ \.(php|html|htm)$ { #PHP-FPM에서 지정한 IP와 포트를 입력합니다. fastcgi_pass 192.168.85.177:9001; #PHP-FPM에 전달하게될 스크립트 파일명 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #FastCGI 관련 구성 설정 정보를 포함합니다. include fastcgi_params; } }
위 내용과 같이 NGINX LOCATION 블록에서 처리가 필요한 확장자를 추가하시면 됩니다
3. NGINX, PHP-FPM 재시작
[root@nginx ~]# service nginx restart [root@nginx ~]# service php-fpm52 restart