Server 2주차] #02 EC2 서버 구축하기: 실습편

NarNarr·2021년 9월 28일
0

00_AWS EC2 인스턴스 인바운드 규칙 설정

Ubuntu 18.04 amd-64 server

우선 AWS에서 인스턴스 하나 생성해준다. 나는 Ubuntu 18.04로 선택했고, 모두 기본 설정대로 진행하였다. 이제 보안 그룹에서 인바운드 규칙을 아래와 같이 설정해주면 된다.

80은 http, 443은 https, 3306은 mysql의 포트다. 22는 ssh의 포트로 원격 제어를 위한 프로토콜이다.

01_WinSCP

원격 파일 전송을 위한 SFTP, SCP, FTP 클라이언트 프로그램

내 로컬 컴퓨터에서 원격지의 호스트 컴퓨터로 파일을 전송하는

  • SCP (Secure Copy)
    - 로컬에서 원격지의 호스트 컴퓨터로 파일 복사해서 올리거나 내릴 때 사용하는 프로토콜.
    • 파일 전송만 허용하는 간단한 프로토콜.
  • SFTP (SSH File Transfer Protocol)
    - 파일 전송 프로토콜이지만 파일 전송뿐만 아니라 원격 파일 관리를 위한 작업도 제공.
    winscp 사용자 이름 아무거나 사용하면 안되고 Amazon Linux 인스턴스 사용자 계정 관리 겁색해서 AMI 종류별 기본 이름으로 시작해야 한다.
    고급 들어가서 개인키 파일 등록.

02_NginX, MySQL, PHP 설치

설치는 쉽다. 아래 코드를 입력하면 된다.

sudo apt update
sudo apt install nginx
sudo apt install mysql-server
sudo apt install php-fpm php-mysql

NginX는 Apache와 다르게 php모듈이 포함되어 있지 않기 때문에 php-fpm을 설치해줘야 한다. php-fpm에 관한 자세한 내용은 https://velog.io/@du0928/PHP-fpm 을 참고하면 좋을 것 같다.

NginX 정상 설치 확인

NginX설치가 정상적으로 되었다면 웹브라우저에 서버의 퍼블릭 IP주소를 입력할 경우 아래와 같은 화면이 뜰 것이다.

MySQL 정상 로그인 확인

아래 코드를 입력해 로그인을 해본다. root 계정의 초기 비밀번호는 본인이 설정하지 않았다면 그냥 Enter키를 치면 된다.

$ mysql -u root -p

Access denied for user 'root@'localhost' 오류가 난다면?
authentication plugin이 auth_socket으로 설정되어 있기 때문일 것이다. 아래를 따라하면 해결된다.

$ sudo mysql
> SELECT user, plugin, host FROM mysql.user;

예상대로 pluginauth_socket이라고 뜬다면, 아래와 같이 변경해주면서 패스워드도 새로 만들어주면 된다.

> update user set plugin='mysql_native_password' where user='root';
> FLUSH PRIVILEGES;

PHP 정상 설치 확인

NginX의 기본 경로인 /var/www/html/에다가 index.php파일을 만들어 넣자.

sudo vi index.php

그리고 파일에 아래 내용을 저장하자.

<?php phpinfo(); ?>

nginx와 연동도 해줘야 한다. sites-available/default 파일을 열어보자.

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

파일에서 아래로 내리다보면 #pass PHP scripts to FastCGI server라는 주석이 적힌 곳이 있다. 그 아래에 주석처리된 블록을 아래와 같이 해제하자.

location ~/.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

마지막 줄은 본인의 서버 버전이 사용하는 php 버전에 맞게 수정해줘야 한다. Ubuntu 18.04는 php7.2를 사용하므로 원래 php7.0-fpm.sock라 적혀있던 것을 아래와 같이 수정해줬다.
이제 웹브라우저 주소창에 퍼블릭IP주소/index.php를 입력해서 아래 같은 페이지가 뜨면 성공이다.

profile
시작하기 가장 좋은 나이 24! 백엔드 개발자를 꿈꾸는 비전공자입니다.

0개의 댓글

관련 채용 정보