아마존 AWS 클라우드 서버를 빌려 서버 구축하기
클루우드 방식으로 서버를 구축 - 외부로 부터 서버를 빌려서 구축하는 방식. 물리적으로 서버 자체를 온전히 구축하는 온프레미스 방식보다 공간에 대한 확대와 축소가 자유롭기 때문에 인원 수용에 유연하다.
웹서버 : Nginx
Backend language : PHP
DBMS : MySQL
1. AWS 서비스 등록
- EC2 서비스, 인스턴스 생성
운영체제 : Ubuntu 18.04
보안 그룹 구성 : SSH 프로토콜 사용, 이후 프로토콜 추가할 계획
키페어 생성 - WinSCP에서 사용 예정 - 시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다.
2. WinSCP와 PuTTY 설정
SFTP(SSH)를 이용하여 AWS에서 생성한 인스턴스를 접근하기 위해 WinSCP, PuTTY를 이용.
- WinSCP, PuTTY : Windows용 그래픽 유저 인터페이스(GUI) SFTP 및 FTP 클라이언트 프로그램. 원격 접속을 지원하는 SSH 프로그램
1. 인스턴스의 퍼블릭 IPv4 주소를 이용하여 WinSCP 로그인
2. 고급 설정- 인증- 개인키 파일- 인스턴스 생성시 받은 키파일 입력
- PuTTY 원격 프로그램으로 터미널을 통해 원격으로 서버 관리 가능
3. Nginx, PHP, MySQL 설치
웹서버 : Nginx
Backend language : PHP
DBMS : MySQL
1. Nginx 설치
sudo apt update
sudo apt install nginx
웹서버 구축 완료
1-2. 외부 접속을 위한 포트포워딩
AWS의 인스턴스 - 보안 - 보안 그룹 링크 - 인바운드 규칙 편집 - HTTP 추가 (위치 무관) - 규칙 저장
80번 포트를 통해서 외부 접속 가능
2. MySQL 설치
sudo apt install mysql-server
sudo mysql
2-2. root 계정 비밀번호, 보안 설정
sudo mysql_secure installation
2-3. root 계정으로 mysql 접속
sudo mysql -u root -p
3. PHP 설치
sudo apt install php-fpm php-mysql
Apache 서버는 자체적으로 php와 연동해주는 모듈을 configure 파일로 자동으로 설정해주는 반면,
Nginx의 경우 php와 연동해주기 위해서 php-fpm을 따로 설치해주고
Nginx configure 파일에서 설정을 수동으로 설정해 주어야 한다.
cd /var/www/html
sudo vim index.php
vim 에디터에서 php파일 작성
<?php
phpinfo();
?>
3-2. Nginx와 php 연동
Nginx 기본 설정 파일 위치 : /etc/nginx/sites-available/default
sudo vi /etc/nginx/sites-available/default
vim 에디터로 주석을 해제하여 다음과 같이 수정
+) ubuntu 18.04 버전에 맞춰서 php 버전도 7.2로 수정
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
수정사항 적용을 위해 restart
sudo service nginx restart
3-3. 연동 확인
외부에서 ec2인스턴스주소/index.php 로 접근하면 phpinfo 파일이 열리는 것을 확인할 수 있다.
'기타 > AWS' 카테고리의 다른 글
ECS 개념 정리 및 실습 (0) | 2022.05.11 |
---|---|
AWS RDS 구축 (0) | 2021.07.10 |