AWS 서버 구축 - nginx, mysql, php 설치

2021. 1. 25. 04:19Server

반응형

1. aws 계정생성

 

AWS 프리 티어

12개월 무료: 이 프리 티어 오퍼는 AWS 신규 고객에게만 제공되며 AWS 가입일로부터 12개월 동안 유효합니다. 12개월의 무료 사용 기간이 만료되거나 애플리케이션 사용량이 프리 티어 범위를 초과

aws.amazon.com

 

2. aws ec2 인스턴스 생성

1. Amazon Machine Image(AMI) 선택

2. 인스턴스 유형 선택

 

3. 인스턴스 세부 정보 구성

기본세팅으로 설정 

 

 

4. 스토리지 추가

 

5. 태그추가

기본세팅으로 설정 

 

6. 보안그룹구성 규칙추가가능(미리 해두기)

 

7. 인스턴스 시작 검토-> 키페어 생성

다운받은 키페어 특정 폴더에 저장하기. 

이유: 다운로드 폴더에 있으면 보안이 취약함.

 

 

8. 인스턴스 생성완료 + 추가 작업 : 탄력적 ip 설정

 

[AWS] EC2 + 탄력적IP로 고정 IP만들기

탄력적 IP란? AWS에서 제공하는 강력한 클라우드 컴퓨팅 EC2는 인스턴스를 키고 끌때마다 IP가 달라지게 됩니다 따라서 클라이언트와 연동을 하거나 도메인을 연결하는 등 고정적인 IP가 필요한 서

artiiicy.tistory.com

 

3. putty 설치

 

PuTTY

완전하고 안정적인 텔넷 및 SSH 클라이언트

putty.softonic.kr

 

4. winscp 설치

 

Downloading WinSCP-5.17.9-Setup.exe :: WinSCP

Problems with the download? Direct download

winscp.net

winscp란 윈도우용 그래픽 유저 인터페이스 SFTP 및 FTP 클라이언트 프로그램이다. 

 

FTP(file transfer protocol)란 원격에 있는 서버에 파일을 주고 받을 때 사용하는 인터넷 통신규약이다.

내 컴퓨터에 있는 파일을 계정을 제공하는 서버로 파일을 서로 이동시키는 것을 말한다.

SFTP(secure file transfer protocol)란 FTP와 달리 PC와 서버간의 데이터 전송을 암호화하기 때문에 보안상 문제점을 방지하고 안전한 호스팅 서비스를 이용할 수 있다.

 

SFTP를 이용해서 생성한 인스턴스에 접근하기 위해 winscp를 설치한다

winscp를 aws에서 빌린 인스턴스의 폴더 구조를 볼 수 있음

 

 

호스트이름 - ec2 퍼블릭 ipv4주소  (탄력적 ip 설정했다면 탄력적 ip 주소)

사용자 이름 - ubuntu

비밀번호 - 고급→ 인증-> 개인키파일 → 키페어 추가 

입력다하고 '저장' 해야 나중에 편하게 이용 가능함

 

 

5. nginx 설치

sudo su
apt update 
apt install nginx 

 

퍼블릭ipv4주소 or 탄력적 ip 주소 검색창에 검색 (15.165.222.42)

 

 

6. mysql 설치

apt install mysql-server

 

7. php 설치 + 외부에서 접속하기

php-fpm는 뭔가요? 

PHP FastCGI Process Manager의 약자입니다. FastCGI는 위에서 말한 CGI보다좀더 빠른 버전이라고 할 수 있습니다. CGI는 요청할때마다 새로운 프로세스 생성하여 구동하게 되는 데 이렇게 되면 부하가 심할뿐만 느려지게 되어있습니다. 하지만 FastCGI은 요청할때마다 새로운 프로세스 생성하는 것이 아니라 이미 생성한 프로세스를 재활용하는 방법을 사용합니다. 때문에 처리가 빠르다는 장점이 있습니다.

apache의 경우에는 apache용 php 모듈이 있어서 자체적으로 처리하게 되어있습니다. 하지만 nginx에는 그런 모듈따윈 없습니다. 때문에 php-fpm를 따로 설치해서 nginx와 연동시켜야 합니다.

 

$apt install php-fpm php-mysql
$cd /var/www/html
$vi info.php
<?php phpinfo(); ?> 
$vi /etc/nginx/sites-available/default 
1. 들어가서 아래부분 주석해제
2. php 7.2 부분 버전 맞춰주기 (2021.10.25 기준 7.4 버전 가능)
$service nginx restart

 

 

설치 확인 - 검색창에 info.php 입력

 

 

<시행착오>

1. info.php 파일 내용 <?php phpinfo(); ?>  이거 제대로 입력 안해서 안됐음

2. /etc/nginx/sites-available/default 설정파일에서 php7.0-fpm.sock -> php7.2-fpm.sock 이거 안바꿔줬음 

반응형