가격면에서 저렴해서 vultr라는 사이트에서 VPS를 구입하였음.
OS: Ubuntu 18.04 x64
CPU: 1 vCore
RAM: 1024 MB
Storage: 25 GB SSD
$ sudo apt-get install curl
해당 날짜에는 v0.39.0이 최신버전
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
$ nvm install --lts
해당 명령어를ㄹ 통해 node의 안정적인 최신 LTS버전 설치노드의 기본 메모리 사이즈는 512MB이여서 아래와 같은 오류가 날 수 있다.
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
오류 발생 시 메모리 할당 추가
$ export NODE_OPTIONS="--max-old-space-size=8192"
해당 명령어를 통해 8GB로 늘려주었다.$ sudo apt install nginx
설치 후 /etc/nginx에 생성된 기본 폴더 및 파일
sites-available
: 웹 서버로써 가장 앞단에서 요청에 대한 어떤 앱서버로 보낼지등에 대한 설정파일이 저장되어있는 공간 ( 사용예정인 공간 )
sites-enabled
: 실제로 설정파일이 적용될 수 있게끔 하기 위해서는 해당 공간에 symbolic link를 이용하여 연결해야 한다. ( sites-available 중에서 사용하고 싶은 사이트만 연결 )
nginx 시작
sudo service nginx start
nginx 중지
sudo service nginx stop
nginx 재시작
sudo service nginx restart
nginx 구동 확인
ps-ef|grep nginx
/etc/nginx 경로에 기본 화면으로 연결되는 Nginx 설정파일들이 이미 생성되어있는데 앞으로 만들 설정과 겹칠 수 있어 아래 경로의 default 파일을 삭제해줘야 한다.
$ sudo rm /etc/nginx/sites-available/default
$ sudo rm /etc/nginx/sites-enabled/default
앞에서 build한 파일을 배포할 설정 파일 생성
$ sudo touch /etc/nginx/sites-available/myapp.conf
세부 설정
server {
listen 80;
location / {
root /home/REACT_DJ-playlist/build;
index index.html index.htm;
try_files $uri /index.html;
}
}
80 port로 들어오는 요청에 대해서 처리.
location / {...} 은 해당 80 port와 / url로 요청을 어떻게 처리할 것인지에 대해서 적는다
sites-available에서 생성한 설정 파일의 symbolic link
$ sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/myapp.conf
.env 파일 key는 git clone시 없었기 때문에 키 관련 .env 파일 생성해줌으로써 api key 오류 해결.
https://okky.kr/article/558451 댓글에 아이피주소로 하면 안되었던 걸 도메인 설정을 하면서 해결이 되었다고 하는데 내일 도메인까지 설정해보면서 다시 확인해봐야겠다.
로컬에서 실행했을 때와 다르게
동영상을 재생 할 수 없음
오류가 존재했는데 현재는 도메인을 사용하면서 해결이 되었다.