AWS

[AWS] EC2 서버 환경 구축하기(Nginx, PHP, MySQL 설치 & 연동)

Hyeonni 2022. 3. 22. 18:28

오늘은 그동안 만들어왔던 EC2 인스턴스에 서버 환경 구축을 해보자.

서버 구성 환경

  • 웹 서버 - nginx
  • 프로그래밍 언어 - PHP
  • 데이터베이스 - MySQL

그럼 start

 

 

Nginx 웹서버 설치하기

sudo apt update

1) nginx 설치
sudo apt install nginx

2)nginx 설치 확인
nginx -v

다운로드가 완료된 후, 2번의 설치 확인을 수행하면 위 사진과 같이 설치된 nginx의 버전이 뜨는 것을 확인할 수 있다.

 

 

MySQL Server 설치하기

1)mysql 설치
sudo apt install mysql-server

2) mysql 보안설정
sudo mysql_secure_installation

3) mysql 접속
sudo mysql -u root -p

위와 같은 문구가 뜨면 y를 입력한다.

 

 

본인이 설정한 비밀번호에 따라 보안 단계를 골라주면 된다.

 

 

설정한 비밀번호를 입력해주면 된다. 비밀번호를 입력해도 안보이니 입력을 다 했으면 엔터를 누르고 넘어가면 된다.

 

 

'Disallow root login remotely?'는 외부 접속을 위해서 n을 입력해주고 나머지는 다 y를 입력한다.

 

 

MySQL에 접속한 모습이다.

위에서 설정했던 비밀번호를 입력해주면 MySQL에 접속이 완료된다.

quit 명령어를 이용해 MySQL 프롬프트를 나와준다.

 

 

PHP 설치하기

1)PHP 설치
sudo apt install php-fpm php-mysql

2)PHP 설치 확인
php -v

이때 php-fmp을 필수로 설치해야 한다는 것을 잊으면 안 된다!

 

PHP 설치 확인

 

Nginx와 PHP 연동하기

1) nginx 기본 설정 경로로 이동
cd /etc/nginx/sites-available

2) default 파일 편집
sudo vi default

default 파일

default 파일에 들어가면 서버 설정 블록이 나온다.

 

  • index는 접속했을 때, 처음 띄워줄 화면을 의미한다.
  • root는 파일들의 경로를 의미한다.

 

수정 전
수정 후

location ~ /.php$ 블록을 찾아가서 주석을 해제해주고 php 버전을 수정해준다.(22.03.22 기준 최신 7.2 버전)

 

cd /etc/nginx
sudo vi nginx.conf

nginx.conf

nginx.conf 파일에서 http 블록의 server_names_hash_bucket_size 64 부분의 주석을 해제한다.

 

nginx의 설정 파일을 변경하면 반드시 테스트를 하고 재시작해줘야 한다.

1) nginx 테스트
sudo nginx -t

2) nginx 재시작
sudo service nginx restart

nginx 테스트 성공

nginx 테스트가 성공적이라면 successful이 뜬다.

 

재시작까지 완료했다면 nginx와 php의 연동을 마지막으로 EC2 인스턴스 상에서 서버 구축을 마쳤다.

해당 인스턴스의 ip로 접속을 하면 nginx 화면이 뜨는 것을 알 수 있다.

 

 

PHP까지 깔았으니 phpinfo 화면 띄우는 것도 넘어갈 수 없다!

 

 

phpinfo 화면 띄우기

1) nginx의 기본 경로로 이동
cd /var/www/html

2) phpinfo.php 파일 생성
sudo phpinfo.php

3) phpinfo.php 파일 입력 내용
<?php
	phpinfo();
?>

 

{본인 ip 주소}/phpinfo.php를 주소창에 입력하면 phpinfo.php 화면이 보이는 것을 확인할 수 있다.

 

phpinfo.php 띄우기도 성공

 

다음에는 EC2 인스턴스에 도메인을 연결해봐야겠다!!