위 포스팅에서 이어집니다.
이전 포스팅에서 FileZilla로 SFTP 접속을 아마존 인스턴스에 성공했습니다.
이제는 내 로컬에 있던 코드를 전송 시켜서, 실제 페이지를 가동시킬 겁니다.
도메인은 이미 구입을 해뒀습니다.
GPT 선생님의 도움을 받아 어떤 절차를 밟아야 할지 도움을 받았습니다.
차근차근 정리해보겠습니다.
FileZilla를 통한 코드 업로드:
/home/ec2-user/ 경로로 이동합니다.웹 서버 설정:
sudo apt update # Ubuntu를 사용하는 경우
sudo apt install nginx # Ubuntu를 사용하는 경우
sudo yum update # Amazon Linux를 사용하는 경우
sudo yum install nginx # Amazon Linux를 사용하는 경우
/var/www/html/입니다. 여기로 코드를 이동 또는 복사해야 웹에서 접근 가능합니다.
sudo cp -r /home/ec2-user/your_code_directory/* /var/www/html/
도메인 설정:
이전 포스팅에서 말했던 대로,
Host 에는 Public IP 를 .
User 에는 ec2-user 를 .
비번은 설정했던 대로, ‘편집 > 설정> ssh> .ppk 파일 업로드’ 까지 잊지 않고 저장해서 실행하면 오른쪽 화면과 같이 나올 것 같습니다.
Filezilla 화면에서 오른쪽 섹션들을 주목하면, 우리가 접속한 인스턴스에서 특정 파일로 들어갈 수 있습니다.
여기서 ec2-user 폴더 안에 제 로컬 코드를 넣어보도록 하겠습니다.
저는 로컬에서 우선적으로 사이트를 구성하기 위해서
React 를 통해 코드를 구성했습니다.
이때 total 이라는 폴더 내부에
프론트엔드를 구성하는 코드를 front 폴더에,
백엔드를 구성하기 위한 코드를 back 폴더에 넣었습니다.
결과적으로 오른쪽 화면과 같이, total 이라는 폴더를 통째로 ec2-user 의 하위 경로로 업로드를 완료했습니다.
npm run build 명령어를 사용해서 생성된 폴더를 그대로 이용하셔야 합니다.
이제 업로드 된 코드로 실제 페이지를 가동하기 위해,
서버의 설정을 할 차례입니다.
서버는 Nginx 또는 Apache 를 선택하는 것을 추천받았는데요.
저는 Nginx 을 선택했습니다.
두 서버의 차이는 다음과 같습니다.
.htaccess 파일을 통한 세부적인 설정이 필요하다면 Apache를 선택하는 것이 좋습니다.이제는 저번과 같은 방식으로 Putty 를 통해 인스턴스에 접속합시다.
SSH 접속 이후, 우선 아래와 같은 명령어를 통해서 Nginx 를 설치해줍시다.
sudo yum update -y
sudo yum install -y nginx
위에서 설치가 완료 됐다면, nginx 를 실행하도록 해봅시다.
sudo service nginx start
서버가 재부팅될 때마다 Nginx 가 자동으로 시작되도록 설정하고 싶다면 다음 명령어를 실행합시다.
sudo chkconfig nginx on
이제는 Nginx 설정 파일을 찾아야 합니다.
아래의 코드를 입력했을 때,
find: ‘/proc/141141’: No such file or directory
와 같은 문구가 여러 개 나온다면 성공입니다.
sudo find / -name nginx.conf
이제 서버의 구성이 어떻게 되었는지 확인할 차례입니다.
아래 명령어를 입력하면 코드들이 줄줄이 발생할 텐데, 이때 컨트롤 + W 키를 눌러주면 search 창이 생길 겁니다.
이 search 창에 아래 코드 노트에서 server { 라고 되어있는 부분을 입력하고 엔터 누르면
sudo nano/etc/nginx/nginx.conf
server { # for Search
아래와 같은 결과를 얻을 수 있을 겁니다.
이제 이 정보를 토대로, 설정을 변경해야 합니다.
처음에는 server_name 뒤에 _ 으로 설정이 되어 있을 건데, 이걸 본인의 도메인으로 타이핑해줘야 합니다.
타이핑 방법은 그냥 화면에 나타나는 녹색 커서를 마우스로 움직이시고, 백스페이스로 필요 없는 부분은 지우고 그런 식으로 하면 됩니다.
지금 제 상황에서 말씀 드리자면 root /path 부분은.. home/ec2-user/total/front 를 집어 넣어야 할 겁니다.
try_files 부분은 그냥 그대로 똑같이 입력하면 됩니다.
입력이 끝났다면, 컨트롤 + o 를 누르고 엔터 키를 누르면 저장 됩니다. 이후 컨트롤 + X 로 다시 편집창에 돌아옵니다.
server {
listen 80;
server_name example.com;
location / {
root /path/to/your/react-app/build; # React 앱의 빌드 폴더 경로로 변경
try_files $uri /index.html;
}
}
돌아온 편집창에서 아래와 같은 명령어를 입력하여 nginx 설정에 문법이 올바른지 확인하고, 재시작을 합시다.
sudo nginx -t
sudo systemctl restart nginx
# 또는
sudo systemctl reload nginx
그럼 이제 우리가 사용을 위해 구매한 example.com 도메인으로 이동 시, React 코드가 생성됩니다.