본문 바로가기
서버/코드이그나이터

리눅스에서 ngix + php + mysql 설치하기

by 아카이sun 2016. 10. 22.

aws의 아마존 리눅스에서 테스트


php는 5.6을 기준으로 설치하였습니다.



설치방법은 github의 https://gist.github.com/sumardi/5559803를 참조하였습니다.



설치하기 


# Install linux update, followed by GCC and Make

sudo yum -y update

sudo yum install -y gcc make


# Install Nginx and PHP-FPM

sudo yum install -y nginx php-fpm


# Install PHP extensions

sudo yum install -y php-devel php-mysql php-pdo \

      php-pear php-mbstring php-cli php-odbc \

      php-imap php-gd php-xml php-soap


# Install PHP-APC

sudo yum install -y php-pecl-apc

sudo yum install -y pcre-devel


# Install MySQL

sudo yum -y install mysql-server mysql


# Nginx Configuration

sudo nano /etc/nginx/conf.d/default.conf


# PHP-FPM Configuration

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



# Autostart Nginx, PHP-FPM and MySQL

sudo chkconfig nginx on

sudo chkconfig mysqld on

sudo chkconfig php-fpm on



php-fpm의 www.conf수정


;listen = 127.0.0.1:9000

listen = /var/run/php-fpm/php-fpm.sock

;listen.owner = nobody

listen.owner = nginx

;listen.group = nobody

listen.group = nginx

;listen.mode = 0666

listen.mode = 0664


user = nginx

group = nginx


수정 후 service php-fpm restart 입력


혹시 WARNING: [pool www] ACL set, listen.owner = 'nginx' is ignored 이런 에러가 발생한다면


http://saratoga.jp/tips/555 참조


listen.acl_users = apache,nginx  이부분을 주석처리하고
20-posix.ini 를 생성하라는 내용같음.



nginx.conf 설정

server 하나가 하나의 프로젝트라고 생각하면된다.

listen : 포트번호
server_name : 해당 서비스의 주소. 
root : 해당 프로젝트의 디렉토리

아래의 설정은 코드이그나이터의 설정.

server {
    listen            80;
    server_name   www.domain.com;
    root              /var/www;
    index            index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?/$request_uri;
    }
    
    location /(application|system) {
        internal;
    }
    
    location ~ \.php$ {
    try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        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;
    }
    
}


댓글