2014년 7월 22일 화요일

Ubuntu 에서 Nginx + PHP5-fpm 설치하기

이번에 AWS ( Amazon Web Services ) 에서 

Ubuntu Server 14.04 LTS (HVM), SSD Volume Type 인스턴스를 생성하여 사용해보았습니다.

대단히 만족스러우며 그래서 php 기반 웹 사이트를 구성하기 위해서 세팅한것을 기록해봅니다.


1. 설치하기전 우선적으로 패키지 정보를 업데이트 해줍니다. 

$ sudo apt-get update



2. Nginx + PHP5-fpm


$ sudo apt-get install nginx php5-fpm php5-mysql php5-curl php5-json



3. NGINX 세팅


설정파일은 /etc/nginx/sites-available/ 에 있으며

첫번째로 새로운 설정파일을 만들어보겠습니다.

우선 그전에 웹서버에 동작시킬 폴더를 만들어둡니다.

$ mkdir ~/www

$ mkdir ~/www/domain.com

설정파일이 있는 폴더로 이동합니다.

$ cd /etc/nginx/sites-available

$ sudo cp default domain.com

$ sudo nano domain.com

domain.com 파일에서 삭제 또는 수정해야되는것

listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
root /home/ubuntu/www/domain.com

index index.html index.htm;
index index.html index.htm index.php;

server_name localhost;
server_name domain.com

#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}

위에 부분에서 주석을 모두 제거해줍니다.

fastcgi_pass 부분이 중요한데 tcp 또는 unix 소켓 둘중에 하나를 사용해야되는데

이 부분은 /etc/php5/fpm/pool.d/www.conf 파일 안에 listen 부분과 일치해야합니다.

$ sudo nano /etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm.sock 이렇게 되어있는걸로 확인할수가 있었음.

그래서 완성된 형태는

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000; // 주석처리해줌
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

4. PHP 세팅


$ sudo nano /etc/php5/fpm/php.ini

short_open_tag = Off On // ON 으로 변경

댓글 없음:

댓글 쓰기