Justin의 개발 로그
article thumbnail
Published 2019. 10. 23. 09:43
Amazon Linux 기본 설치 AWS_NCP/EC2

현재 운영체제에 설치되어 있는 프로그램 최신버전 패치# yum update

Amazon Linux 는 CentOS 계열이며 패키지 관리자 프로그램으로 yum 을 사용합니다.

 

4. 시스템 시간 설정 - Linux Timezone Setting# vi /etc/sysconfig/clock

UTC 를 찾아서 Asia/Seoul 로 변경

이 부분을 찾아서

이렇게 변경.

 

다음의 명령어도 실행합니다.

# ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

시간 확인

# date

 

5. Nginx 웹서버 설치

어떤 버전이 설치되는지 확인하기

# yum info nginx

1.12.1 버전이 설치되겠네요. 충분히 최신버전입니다.

 

# yum install nginx# service nginx start

 

http://당신의서버아이피/ 로 접속해서

이 화면이 나오면 됩니다.

6. PHP-FPM 설치

php 패키지 검색

# yum search php

 

많이 나올텐데

php56 또는 php70 또는 php71 을 설치하세요.

php 7.2 는 호환성 이슈가 있어서 설치하는 것을 추천하지 않습니다.

 

이 블로그 글에서는 php 7.1 을 설치하겠습니다.

# yum install php71-fpm

패키지 설치시에 어떤 것들이 추가로 설치되는지 한번쯤을 봐보세요.

 

* 널리 쓰이는 PHP 모듈 설치

# yum install php71-curl php71-mbstring php71-mcrypt php71-gd

추가로 설치하고 싶은 모듈이 있으면 yum search 명령어로 패키지명 확인 후 설치해보세요.

 

# service php-fpm-7.1 start

연동작업은 나중에 합니다.

 

 

7. MYSQL 설치

DB 서버 설치는 다루지 않겠습니다. 아마도 RDS 를 쓰겠죠.

여기서는 MYSQL 클라이언트 프로그램만 설치합니다.

# yum install mysql56# mysql

이렇게 에러 메세지가 나오면 정상입니다.

 

* PHP MYSQL native driver 설치

# yum install php71-mysqlnd

php 에서 mysqli 및 pdo 함수를 사용할 수 있게 됩니다.

 

8. PHP Default timezone 설정하기

php 의 date 함수가 참조하는 timezone 을 설정합니다.

어느 파일을 수정해야 하는지 탐색# cat /etc/php-7.1.d/php.ini# ll /etc/php.ini# ll /etc/alternatives/php.ini

 

결과적으로 php 콘솔에서 참조하는 파일은 /etc/php-7.1.ini 이고, php-fpm 에서 참조하는 파일은 /etc/php-fpm-7.1.conf 입니다.

# vi /etc/php-7.1.ini# vi /etc/php-fpm-7.1.conf

 

date.timezone 값을 찾아서 주석을 제거하고 시간을 설정해주세요.

이 값을 찾아서

 

이렇게 변경.

 

9. 부팅시 자동실행 설정

자동으로 실행되는 서비스목록 확인하기

# chkconfig --list

저 2개의 서비스의 자동실행을 켜야 합니다.

 

# chkconfig nginx on

# chkconfig php-fpm-7.1 on

# chkconfig --list

 

* 테스트를 위해서 재부팅# reboot

 

재부팅 후 다음 명령어로 확인

# service nginx status# service php-fpm-7.1 status

 

10. 연동 설정nginx 에서 php-fpm 으로 변수를 전달하는 파일(fastcgi_params) 수정# vi /etc/nginx/fastcgi_params

https://blog.lael.be/demo-generator/ami-nginx/fastcgi_params.php 이 링크 문서에 쓰여진 내용대로 수정합니다.

 

일치하지 않는 도메인 요청 연결 사이트 (기본사이트) 수정# vi /etc/nginx/conf.d/default.conf

https://blog.lael.be/demo-generator/ami-nginx/default.conf.php 의 문서를 참조합니다.

이 글에서는 첫번째 옵션 일치하지 않는 도메인 모두 차단을 사용하겠습니다.

 

nginx 환경설정 수정

nginx.conf 의 기본값이 조금 이상하므로 다음과 같이 수정합니다. 왜 이렇게 바꾸는지 설명은 생략합니다. 적당히 이해해보세요.

# vi /etc/nginx/nginx.conf

include /etc/nginx/conf.d/*.conf;    다음 위치에   } 괄호를 입력하여 구문을 종료하고, 그 다음 내용을 모두 삭제한다.

그 후 그림과 같이 다음 구문 추가

1

2

3

4

5

6

7

8

gzip on;

gzip_min_length  10240;

gzip_buffers  32 32k;

gzip_comp_level 9;

gzip_types    text/plain application/x-javascript text/xml text/css;

gzip_vary on;

 

server_tokens off;

최종적으로 이런 모습이어야 합니다.

 

제대로 작업했는지 확인 후 서비스 재시작

# service nginx configtest# service nginx restart

 

 

11. 웹 사용자 추가

사용자 추가

# adduser myuser1

사용자 비밀번호 설정

# passwd myuser1

웹서버 사용을 위해서 권한 설정

# chmod 701 /home/myuser1

사용자 전환 후 웹 디렉토리 생성

# su -l myuser1# mkdir www# exit

 

12. 사용자 php-fpm 추가

https://blog.lael.be/demo-generator/ami-nginx/php-fpm-user.php 을 보고 추가합니다.

사용자당 1개의 파일을 작성해야 합니다.

# vi /etc/php-fpm-7.1.d/myuser1.conf

/etc/php-fpm-7.1.d/ 위치에 기본 파일 (www.conf) 이 있는데 그대로 내버려둡니다.

 

13. 사용자 nginx 파일 추가

https://blog.lael.be/demo-generator/ami-nginx/my-example-site.com.php 을 보고 설정합니다.

사이트 주소, 웹루트 디렉토리, 사용자 아이디를 입력합니다.

# vi /etc/nginx/conf.d/samplesite.com.conf

 

14. 설정파일 적용 및 테스트

# service nginx restart# service php-fpm-7.1 restart

 

/home/myuser1/www 웹루트 위치에 적절한 파일을 업로드한 후에 웹브라우저로 접속해보세요.

profile

Justin의 개발 로그

@라이프노트

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!