nginx 저장소 rpm 파일을 다운로드(http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm)한 후, 이를 설치합니다. rpm 설치가 끝나면 yum 으로 nginx 를 설치합니다.
yum install nginx
php-fpm 과 관련한 패키지들을 설치합니다.
yum install php php-fpm php-mysql
php-fpm 설정 파일을 수정합니다. 이때, 기존의 설정 파일은 다른 확장자로 변경하고 신규 파일을 생성합니다.(해당 서비스에 알맞은 이름으로 사용하면 됩니다.)
cd /etc/php-fpm.d
mv www.conf www.bak
vi 1pweb.conf
[1pweb]
listen = /var/run/php-fpm/1pweb.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = 1pweb
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
chdir = /home/1pweb/html/
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
;php_admin_value[open_basedir] = /home/artg/html:/tmp
(2015/02/122 - php 5.5 이상 버전부터 open_basedir 을 사용하지 않으며, curl 사용 등에 오류를 발생시키므로 제거합니다.)
상기 설정에서 홈페이지가 위치할 경로는 /home/1pweb/html 이며, 사용자 계정은 1pweb 입니다. php-fpm 세션과 관련하여 디렉토리 소유권을 변경하고 php-fpm 을 시작합니다.(디폴트로 존재하는 www.conf 에 의해 생성되는 www 풀을 삭제하였습니다.)
기존 www.conf 설정의 apache 사용자 권한을 유지하고 싶으면, 별도의 디렉토리를 생성하여 퍼미션을 구분하여 줍니다.(/var/lib/php/1pweb_session)
mv www.conf www.conf.bak
cd /var/lib/php
sudo chown root.nginx *
sudo /etc/rc.d/init.d/php-fpm start
nginx 설정 디렉토리에 설정 파일을 신규생성합니다.
cd /etc/nginx/conf.d
vi 1pweb.conf
server {
listen 80;
server_name 도메인주소;
root /home/1pweb/html;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm/1pweb.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx 를 재시작한 후, 간단한 php 프로그램(info.php)을 작성하여 웹브라우저에서 연결해봅니다.
<?php
phpinfo();
?>
'서버 > 리눅스' 카테고리의 다른 글
CentOS 6.x 에서 php 5.5.x 설치하기 (2) | 2014.08.13 |
---|---|
PHP 5.2.x, 5.3.x, 5.4.x 에서 Zend OpCache 사용하기 (0) | 2014.08.13 |
CentOS mongodb 2.6.1 업데이트하기 (0) | 2014.05.08 |
CentOS 5, supervisor 설치 및 설정하기 (0) | 2014.05.05 |
CentOS, node.js - Ghost 설치하기 (0) | 2014.05.01 |
댓글