Souce Install PHP-FPM on CentOS 7

의존성 패키지 설치

yum install -y autoconf libtool bison libxml2-devel bzip2-devel libcurl-devel gcc-c++ openssl-devel

 

유저생성

useradd -M -r -s /sbin/nologin webuser

 

php 다운로드

cd /data/apps/dn
wget http://jp2.php.net/get/php-7.1.25.tar.gz/from/this/mirror --content-disposition

 

압축해제

tar xvzf php-7.1.25.tar.gz

 

configure

cd php-7.1.25

./configure --prefix=/data/apps/src/php-7.1.25 --enable-fpm --with-openssl --with-zlib --enable-mysqlnd --with-config-file-path=/data/apps/ln/php/etc/

 

컴파일 및 설치

make && make install

 

링크생성

cd /data/apps/ln
ln -s /data/apps/src/php-7.1.25 php

 

php-fpm 설정파일 생성 및 편집
: vi /data/apps/ln/php/etc/php-fpm.conf

https://github.com/fallboyz/umount.net-config/blob/master/php-fpm/php-fpm.conf

 

php.ini 파일 복사

cp /data/apps/dn/php-7.1.25/php.ini-production /data/apps/ln/php/etc/php.ini

 

php.ini 파일 편집
: vi /data/apps/ln/php/etc/php.ini (필수 편집 옵션만 나열합니다.)

expose_php = Off
sys_temp_dir = /data/webtmps
cgi.fix_pathinfo = 0
upload_tmp_dir = /data/webtmps
date.timezone = Asia/Seoul
session.save_path = /data/webtmps

 

systemd 파일생성
: vi /etc/systemd/system/php-fpm.service

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/data/apps/ln/php/var/run/php-fpm.pid
ExecStart=/data/apps/ln/php/sbin/php-fpm --nodaemonize --fpm-config /data/apps/ln/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

 

systemd 등록 및 실행

systemctl enable php-fpm
systemctl start php-fpm

 

log directory 링크

ln -s /data/apps/ln/php/var/log/ /data/logs/php-fpm

 

nginx site config 수정
: vi /data/apps/ln/nginx/conf/sites-enabled/umount.net.conf

server {
    listen      80;
    server_name umount.net;

    charset utf-8;

    access_log logs/umount_access.log main;
    error_log  logs/umount_error.log  crit;

    root   /data/www/umount.net;
    index  index.php;

    client_max_body_size 128M;

    location ~ /\.ht {
        deny all;
    }

    location ~ \.php$ {
        fastcgi_pass                    unix:/data/apps/php/php-fpm.sock;
        fastcgi_index                   index.php;
        fastcgi_buffers                 256 16k;
        fastcgi_buffer_size             128k;
        fastcgi_connect_timeout         180s;
        fastcgi_send_timeout            180s;
        fastcgi_read_timeout            180s;
        fastcgi_busy_buffers_size       256k;
        fastcgi_temp_file_write_size    256k;
        fastcgi_max_temp_file_size      0;
        fastcgi_intercept_errors        on;

        include       fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
        expires       max;
        access_log    off;
        log_not_found off;

        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }
}

 

php test 파일 생성
: vi /data/www/umount.net/info.php

<?php
    echo "hello umount world";
    phpinfo();
?>

 

nginx 재시작

systemctl restart nginx

 

웹브라우저 확인

php

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x