개발을 간바루Joy 하게

#2 AWS LEMP 서버 구축 본문

프로그래밍/AWS

#2 AWS LEMP 서버 구축

New! Game 2019. 12. 25. 21:31

바로 시작하겠습니다

 

//1. 현재 운영체제에 설치돼있는 프로그램 최신 버전 패치

sudo yum update

리눅스 업데이트를 해줍니다

 

 

//2. Nginx 설치

sudo yum install nginx

nginx를 설치해줍니다

 

nginx -v

sudo service nginx start

설치가 정상적으로 되었는지 버전체크와

정상적으로 설치가 되었으면 nginx를 실행시켜 줍니다.

 

 aws인스턴스 주소를 입력하면

nginx홈페이지가 뜨면 정상입니다.

 

 

 

//3. PHP, PHP-FPM 설치

sudo yum install php72

저는 php7.2 버전으로 설치하였습니다.

다른 버전 설치를 원하시는 분은

sudo yum search php 명령어를 입력하여

설치할 php목록들을 확인해주시길 바랍니다.

 

 

sudo yum install php72-fpm

nginx의 동적인 페이지를 만들기 위한 php-fpm도 설치해줍니다

 

 

sudo yum php-fpm-7.2 start

php-fpm도 실행시켜 줍니다.

 

 

//4. MYSQL

sudo yum install mysql56

DB서버는 aws RDS를 사용할 것이므로

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

mysql

다음과 같이 mysql서버 에러가 나면 정상적으로 설치가 되었습니다.

 

sudo yum install php72-mysqlnd

mysql native driver도 설치해줍시다.

 

 

 

//5. 부팅시 Nginx, PHP-FPM 자동실행

sudo chkconfig --list

재부팅 시 nginx와 php-fpm이 자동실행이 되도록 

명령어를 입력해줍니다.

sudo chkconfig nginx on
sudo chkconfig php-fpm-7.2 on

재부팅 후 다음과 같이 변경된 걸 확인할 수 있습니다.

 

 

 

 

//6. Linux, PHP-FPM 타임존 설정

sudo nano /etc/sysconfig/clock

타임존을 Asia/Seoul로 변경해줍니다

 

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date

서울시 기준시각으로 변경된걸 확인 할 수 있습니다.

 

sudo nano /etc/php-fpm-7.2.conf

date.timezone 을 찾아 다음과 같이 변경해줍니다.

 

 

 

 

//7. 연동설정

sudo nano /etc/nginx/fastcgi_params

Nginx에서 php-fpm으로 전달하는 변수를 수정해야 합니다.

위 화면은 처음 fastcgi_param 파일을 열었을 때의 화면입니다.

 

https://blog.lael.be/demo-generator/ami-nginx/fastcgi_params.php

위 링크에 쓰여있는 내용을 복사하여 붙여 넣습니다.

 

 

 

//8. Nginx 환경설정 수정

sudo nano /etc/nginx/nginx.conf

 

위 화면처럼  include /etc/nginx/conf.d/*. conf;

뒤에 나오는 내용을 전부 삭제합니다

 

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;

위 내용을 삭제한 내용 뒤에 추가합니다.

 

 

sudo service nginx configtest

sudo service nginx restart

변경 후 nginx이 제대로 구동되는지 확인합니다.

 

Nginx 환경설정에 더 자세히 알고 싶으신 분들은

아래 블로그를 참고 하시길 바랍니다

https://extrememanual.net/9976

 

NGINX 기본 환경 설정 튜닝 및 설명 - 익스트림 매뉴얼

튜토리얼 환경 : 우분투 데스크탑 16.04 LTS Xenial / NGINX 패키지 설치 설정 파일 위치 ├── conf.d ├── fastcgi.conf ├── fastcgi_params ├── koi-utf ├── koi-win ├── mime.types ├──

extrememanual.net

 

 

 

//9. 웹 사용자 추가

사용자 추가

sudo adduser catoonat

사용자 비밀번호 설정

sudo passwd catoonat

권한 설정

sudo chmod 701 /home/catoonat

사용자 전환

su -l catoonat

디렉터리 생성

mkdir www

종료

exit

 

 

 

//10. 사용자 PHP-FPM 파일추가

sudo nano /etc/php-fpm-7.2.d/catoonat.conf

https://blog.lael.be/demo-generator/ami-nginx/php-fpm-user.php

위 블로그 주소로 들어가 자신이 만든 리눅스 사용자 아이디 입력 후

설정 파일 복사 후 붙여 넣습니다

 

 

 

 

//11. 사용자 Nginx 파일 추가

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

https://blog.lael.be/demo-generator/ami-nginx/my-example-site.com.php

이하 내용 같습니다

 

 

 

//12. 설정파일 적용 및 테스트

sudo service nginx restart

sudo service php-fpm-7.2 restart

nginx와 php-fpm이 제대로 구동하는지 확인합니다

 

 

본인이 만든 사용자로 접속 후 www폴더에 index.php 이름으로 파일을 만듭니다.

 

 

 

aws 가상머신 주소를 입력하여

위와 같은 화면이 뜨면 성공입니다.

 

 

//13. 참고 블로그

https://blog.lael.be/post/6586

 

한번에 끝내는 AWS Amazon Linux 웹서버세팅 (아마존리눅스 서버세팅)

리눅스라는 컴퓨터 운영체제가 있습니다. GPLv2 를 따르며 오픈소스이며, 매우 오래된 역사를 가지고 있습니다. 오랜 시간을 통해 검증이 된 운영체제이죠. 리눅스의 파생 운영체제로는 Ubuntu, Debian, CentOS, Fedora, Amazon Linux, Android, AIX, Redhat 등이 있습니다. Ubuntu, Debian 는 데비…

blog.lael.be

 

 

'프로그래밍 > AWS' 카테고리의 다른 글

#3 AWS Ec2 세부사항들  (0) 2020.01.31
#1 AWS Ec2 생성이후 Putty 사용하여 ssh접속  (0) 2019.12.25