AWS EC2에 Nginx,PHP,MySQL 구축

이서우·2021년 4월 11일
0

AWS 기본 설정


▲ AWS에 회원가입 한 후 region 설정을 서울으로 합니다


▲ 서비스 - EC2 - 인스턴스 - 인스턴스 시작 으로 들어가 ubuntu Server 18.04를 선택합니다


▲ 프리티어 사용가능을 선택합니다


▲ '새 키 페어 생성'을 선택하고 키 페어 이름을 원하는대로 정합니다 키 페어를 다운로드하여 외부에 노출되지 않게 잘 보관 후 '인스턴스 시작'을 합니다



▲ '탄력적 IP - 탄력적 IP 주소 할당 - 할당 - 이 탄력적 IP 주소 연결'에 들어가 위에서 만든 인스턴스를 선택하고 연결합니다

PuTTY와 WinSCP 설정


▲ puTTYgen에서 Load를 선택해 위에서 만든 키(.pem 파일)를 선택하고 save private key를 선택해 .ppk 파일을 만든다


▲ puTTY에서 SSH-Auth Browse를 클릭해 위에서 만든 .ppk파일을 선택합니다 -> Session으로 돌아와 Host Name에 인스턴스 IP입력하고 Saved Sessions에 임의로 이름을 정해 지금 설정한 것들을 저장해 둡니다

WinSCP 다운 : 링크텍스트

▲ WinSCP를 다운로드 한 후 다음과 같은 창이 뜨면 예를 클릭합니다


▲ 키를 선택하고 사용자 이름은 ubuntu로 하여 로그인 합니다


▲ 위의 화면에서 표시한 부분이 Putty 원격 프로그램으로 Putty로 커널에서 서버를 관리해줄 수 있습니다

Nginx 설치

$ sudo apt update
$ sudo apt install nginx

▲ Nginx를 설치합니다


▲ '보안 - 보안그룹 링크 - 인바운드 규칙 편집 - 인바운드 규칙 편집- 규칙 추가' 를 통해 HTTP를 추가하고 위치무관으로 설정하여 포트포워딩을 합니다


▲ 인스턴스의 공인 ip주소를 입력하면 접속이 잘 되는 것을 확인 할 수 있다

MySQL 설치

$ sudo apt install mysql-server
$ sudo mysql
mysql> exit

▲ mysql을 설치합니다

$ sudo mysql_secure_installation

▲ root에 대한 비밀번호 및 보안설정을 해줍니다
참조 : 링크텍스트

mysql> show variables like'validate_password%';
mysql> set global validate_password_policy=LOW;
mysql> show variables like 'validate_password%';

$ sudo mysql -u root -p
비밀번호 입력
mysql> exit

▲ root로 접속하여 비밀번호를 입력하면 잘 접속되는 것을 확인할 수 있습니다

PHP 설치 & Nginx-PHP연동

$ sudo apt install php-fpm php-mysql

▲ php를 설치해줍니다

$ cd /var/www/html
$ sudo vim index.php

▲ nginx의 루트 디렉터리 (기본 경로: /var/www/html)에 php 파일을 만들어 줍니다

$ sudo vi /etc/nginx/sites-available/default


▲ nginx의 기본 설정 파일( /etc/nginx/sites-available/default)을 다음과 같이 수정하여 Nginx-PHP을 연동합니다

$ sudo service nginx restart

▲ Nginx를 재시작 합니다


▲ ip주소/index.php로 접근하면 phpinfo가 잘 나오는 것을 확인할 수 있습니다

0개의 댓글