[Nginx] AWS EC2에 Nginx 설치하는 방법 간단 정리

아마존 웹 서비스(AWS)에서 nginx와 mysql, 그리고 php를 구동하기 위한 php-fpm 설치 방법을 소개합니다.

yum update

Nginx + PHP FPM 설치

PHP 확장 모듈 설치

PHP APC 설치

문제 : 위 PHP APC를 설치하면 php-fpm 프로세스의 iowait (입출력 대기 부하)가 50~99% 발생하는 문제가 있습니다. 이 과정에서 PHP APC 설치는 권장하지 않습니다. 자료를 찾아보는 중에는 memcached도 비슷한 문제가 있다고 합니다.

Mcrypt 설치 (Codeigniter framework 사용 시 필요)

MySQL 설치

Nginx 기본 설정 파일 작성

default.conf 기본 내용

php-fpm 설정

www.conf 설정 (각 항목을 찾아 아래 내용과 같이 수정)

EC2 인스턴스 재 시작 시 nginx + mysql + php fpm 자동 실행 되도록 설정

Nginx + MySQL + php-fpm 서비스 시작
(MySQL은 최초 시작시 root 계정 설정과 패스워드 설정에 대한 멘트가 나오니 참고하셔서 설정해줍니다.)

웹페이지 확인
Welcome to nginx on the Amazon Linux AMI! 화면 출력되면 nginx 설치는 정상

 

세팅 과정은 여기까지 입니다. 아래부터는 세팅하는 과정에서 발생한 문제나 이슈에 대해서 정리한 내용이니 참고하세요.

 

– 추가 정보 –
1. nginx reload (Nginx는 서비스를 재시작하지 않고 reload로 무중단 재시작이 가능, 단 모듈이나 설정이 변경된 경우에는 restart 필요)

2. Nginx의 Error / Access log 기본 경로
error log : /var/log/nginx/error.log
access log : /var/log/nginx/access.log

3. 서버 타임존 설정

현재 타임존은 $ date 명령으로 확인 가능

4. FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream,.. 에러 발생 문제

이 에러는 여러 원인이 있겠지만 저의 경우
/etc/nginx/conf.d/default.conf (호스트 설정 파일)의 location / 블럭에서 index.php가 빠져있어서 에러가 발생.

5. CodeIgnighter 사용 시 mod rewrite 설정 (호스트 설정 파일 location / 블럭 안에 추가)

6. EC2 인스턴스에서는 CORS(Cross-Origin Resource Sharing) 설정 불가.  이를 해결하려면 S3를 사용하거나 외부 CDN 서비스를 사용해야함.

찐빵

이 곳에 작성된 모든 컨텐츠는 CCL 규약의 CC BY-NC-SA (저작자표시-비영리-동일조건변경허락) 조건을 따릅니다. 비상업적 용도로 출처를 밝혀주시면 얼마든지 공유 가능합니다.

You may also like...

%d 블로거가 이것을 좋아합니다: