NGINX(엔진엑스)를 PHP와 연동하기 위해서는 PHP-FPM(PHP FastCGI Process Manager)를 이용해야 합니다. PHP-FPM은 PHP 5.4RC부터는 PHP에 기본 내장되어 있고 그 이전 버전에서는 따로 설치를 해야 합니다.
MySQL 설치
sudo apt-get install mysql-server mysql-client
PHP-FPM 설치
우분투 12.04에서 php를 apt-get을 이용해 설치를 진행한다면 php 5.3.10 버전(2013/09/15 기준)이 설치된다.
PHP-FPM이 포함되어 있지 않은 버전이니 이를 설치해야 한다.
php-fpm 설치시 의존성으로 php5가 설치된다.
sudo apt-get install php5-fpm
php5 모듈 설치
sudo apt-get install php5-cli php5-mcrypt php5-gd
php-fpm 과 mysql 연동
sudo apt-get install php5-mysql
NGINX 과 PHP-FPM 연결
엔진엑스의 설정파일에서 server {
부분의 location / {
의 root 디렉토리설정을 server {
쪽으로 이동시켜 전역적인 설정으로 만들어주고 php설정을 변경한다.
sudo vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
root html;
}
location ~ \.php$ {
# 접근 속도가 빠르게 유닉스 소켓으로 변경
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
# 파일 이름 설정
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
php-fpm의 설정파일도 유닉스 소켓으로 변경
sudo vi /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock
보안설정
보안과 관련하여 [ 링크 ]
아래 내용 추가하자
sudo vi /usr/local/nginx/conf/fastcgi_params
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info if_not_empty;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
서비스 재시작
sudo service php5-fpm restart
sudo service nginx restart
'리눅스 > Ubuntu' 카테고리의 다른 글
[Ubuntu] 우분투 NGINX(엔진엑스) 보안 설정 (1) | 2013.09.20 |
---|---|
[Ubuntu] 우분투 NGINX(엔진엑스) 가상호스트 설정 (7) | 2013.09.20 |
[Ubuntu] 우분투 NGINX(엔진엑스) Configure 옵션 (3) | 2013.09.20 |
[Ubuntu] 우분투 NGINX(엔진엑스) 설치 (2) | 2013.09.20 |
[Ubuntu] 우분투 OwnCloud 설치 (4) | 2013.09.05 |