«   2018/09   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
Archives
Today
271
Total
1,153,492
안정적인 DNS서비스 DNSEver
관리 메뉴

Blue Breeze

Centos7 Nginx+php7+php-fpm 본문

Language/PHP

Centos7 Nginx+php7+php-fpm

푸른바람 C/H 2017.02.21 08:30

php7

yum install -y epel-release
yum update -y

rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum --enablerepo=remi update remi-release
yum --enablerepo=remi-php70 install -y php php-fpm php-mysql
yum --enablerepo=remi-php70 install -y php-mbstring php-common php-cli php-gd php-json php-devel php-imageic php-mcrypt php-xml php-xmlrpc php-soap php-bcmatch php-pear php-dba php-pdo php-ldap php-mysqlnd php-opcache

systemctl restart php-fpm

# mcrpyt 설치 여부 확인
php -r "mcrypt_create_iv();"
php -m | grep mcrypt
rpm -qa | grep mcrypt
yum list php-mcrypt

# 설치된 php 확인
yum list installed | grep php -i

NGINX

yum install -y nginx

systemctl enable nginx.service
systemctl start nginx.service

/etc/nginx/fastcgi_params

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

set $fastcgi_script_realname $fastcgi_script_name;
set $path_info $fastcgi_path_info;
if ( $fastcgi_script_name ~ ^(.*\.php)(/.*)$ ) {
    set $fastcgi_script_realname $1;
    set $path_info $2;
}
if (!-f $document_root$fastcgi_script_realname) {
    return 404;
}

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  PATH_INFO          $fastcgi_script_name;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

/etc/php.ini

cgi.fix_pathinfo = 0
allow_url_fopen = On
expose_php = Off
display_errors = Off
date.timezone = Asia/Seoul

/etc/php-fpm.d/www.conf

user = nginx
group = nginx
 
listen.owner = nginx
listen.group = nginx // 앞에 주석 ; 을 지움
listen = /var/run/php-fpm/php-fpm.sock

/etc/nginx/conf.d/default.conf

파일이 없으면 추가한다.
혹은 site-avliable, site-enabled 폴더를 만들고 구분해서 사용한다.

server {
    listen       80;
    server_name  _;
    charset koi8-r;
    access_log  /var/log/nginx/log/_.access.log  main;
    root        /usr/share/nginx/html;
    index       index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    error_page  404              /404.html;
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
    root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files      $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    #location ~ /\.ht {
    #    deny  all;
    #}
}

SELinux Disabled

setenforce 0
#vi /etc/sysconfig/selinux
;SELINUX=enforcing
SELINUX=disabled

Firewalld 설정

# 설치
yum install firewalld
systemctl start firewalld
systemctl enable firewalld

# 설정
vi /etc/firewalld/zones/public.xml

firewall-cmd --reload  # 재시작
firewall-cmd --permanent --list-all  # 파라미터로 등록된 서비스

/etc/firewalld/zones/public.xml

<!--?xml version="1.0" encoding="utf-8"?-->
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accept
ed.</description>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>
</zone>


'Language > PHP' 카테고리의 다른 글

PHP 병렬처리  (0) 2017.03.17
centos php-fpm session.save_handler redis setting  (0) 2017.03.02
Centos7 Nginx+php7+php-fpm  (0) 2017.02.21
php7.1 mcrypt_get_iv_size Error  (0) 2017.02.17
CI hwp 파일 업로드 (unknown file extension upload), 다운로드  (0) 2016.07.02
PHP RedisClient Class  (0) 2016.06.07
0 Comments
댓글쓰기 폼