[AWS] EC2를 이용한 서버 구축
AWS EC2 인스턴스 시작
AWS EC2 프리티어는 최초 12개월 간 매달 최대 750 인스턴스 시간까지 사용 가능하다고 한다.
예전 토이 프로젝트 때 쓰던 인스턴스가 실행 중이던게 있어서 중지해줬다.
예전에 잘못하다가 종료를 중지로 착각하고 눌렀다가 망했던 기억이...
Ubuntu Server 18.04 LTS AMI 선택
프리 티어 사용 가능한 t2.micro 선택한다.
프리티어는 최대 30까지 가능하다 그래서 최대로 설정해본다.
인스턴스에 접근할 수 있는 키 페어를 다운받는다. 분실하지 않도록 주의!
WinSCP를 이용하여 AWS EC2 접속
WinSCP 프로그램을 실행하여 인스턴스에 접속한다. 퍼블릭 IPv4 주소로 접속하면 되고 사용자 이름은 ubuntu에 비밀번호는 입력하지 않는다.
고급 -> 인증 -> 개인키 파일에서 이전에 다운 받은 키 페어를 입력한다.
접속 완료!!
Nginx, PHP, MySQL 설치
nginx 설치
sudo apt update
sudo apt install nginx
인바인드 규칙에 HTTP 유형을 추가한다.
인스턴스 퍼블릭 IPv4 주소를 통해 접속 가능한 것을 볼 수 있다.
mysql 설치
sudo apt install mysql-server
sudo mysql_secure_installation
sudo mysql
php 설치
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql
sudo vi /var/www/html/index.php
<?php
phpinfo();
?>
sudo vi /etc/nginx/sites-available/default
# index.php 추가
# 주석 해제, php7.2-fpm.sock으로 변경
nginx를 재시작한다.
sudo service nginx restart
주소창에 IPv4주소/index.php를 치면
php 정보 출력되는 것을 확인할 수 있다.
-> 제대로 되지 않았다면, 아마 index.php이름의 파일이 다운받아질 것이다.
root 주소가 /var/www/html 이므로, IPv4/var/www/html/index.php의 파일을 가져와라 의미.
외부에서 MySQL 접속
EC2 보안그룹 - 인바인드 규칙에서 다음과 같이 추가한다. 외부에서 접속이 가능하게 허용해주는 것이다. 자동으로 3306포트가 열린다.
create user '아이디'@'%' identified by '비밀번호';
grant all privileges on *.* to '아이디'@'%' identified by '비밀번호';
flush privileges;
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address : 0.0.0.0으로 수정
다음과 같은 코드를 통해 외부에서 mysql의 해당 계정으로 접속 가능하도록 해준다.
EC2 자체에 데이터베이스를 두는 것이 아닌, 따로 RDS를 사용할 것이므로 실제 접속은 나중에 해보기로!
-- 틀린 부분이 있다면 알려주시면 감사하겠습니다! --
Author And Source
이 문제에 관하여([AWS] EC2를 이용한 서버 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eyl056/AWS-EC2를-이용한-서버-구축저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)