nginX 웹서버에서 html, htm 파일의 PHP 코드 실행

 라즈베리 파이에 nginX 웹서버와 php를 올려서 세팅 중이다. apache 웹서버에서는 php를 설치할 경우, htm과 html은 기본적으로 php 코드 실행이 가능하였다. 그런데  nginX 웹서버에서는 index.html 또는 index.htm 과 같이 htm, html 파일인 경우, php 코드를 기본적인 html코드로 인지하였다. 이 전 글(http://www.withover.com/2014/12/nginx-php5-mysql.html)에서도 시작 페이지를 index.htm 이 아닌 index.php로 설정을 하였다. 

 nginX에서 htm과 html 파일에 있는 php 코드를 인지할 수 있게 설정을 바꾸어 보자.
 먼저, PHP(php-fpm) 설정 파일을 연다.
$ sudo vi /etc/php5/fpm/php-fpm.conf
 파일의 마지막 부분에 다음 코드를 입력한다.
security.limit_extensions = .php .html .htm
 php-fpm 을 재시작 한다.
$ sudo service php5-fpm restart
 nginX의 설정 파일을 오픈한다. 
$ sudo vi /etc/nginx/sites-available/default
 63번째 줄에 있는 location ~ \.php$ {  을 location ~ \.(php|html|htm)$ { 으로 변경한다.
     63         location ~ \.(php|html|htm)$ {
     64                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
     65         #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
     66
     67         #       # With php5-cgi alone:
     68         #       fastcgi_pass 127.0.0.1:9000;
     69         #       # With php5-fpm:
     70                 fastcgi_pass unix:/var/run/php5-fpm.sock;
     71                 fastcgi_index index.php;
     72                 include fastcgi_params;
     73         }
 nginX를 재시작한다.
$ sudo service nginx restart
 작업이 성공적으로 끝이 났다면 index.htm 과 같이 htm 파일에서도 php 구문을 인지하게 된다. 

댓글 쓰기