[배포][DJplaylist] VPS구입&환경구축, Nginx
가격면에서 저렴해서 vultr라는 사이트에서 VPS를 구입하였음.
OS: Ubuntu 18.04 x64
CPU: 1 vCore
RAM: 1024 MB
Storage: 25 GB SSD
환경 구축
curl 설치
- 커맨드라인(cmd)을 통해서 간단하게 웹 브라우저처럼 데이터를 전송할 수 있는 툴
$ sudo apt-get install curl
nvm 설치
해당 날짜에는 v0.39.0이 최신버전
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
(설치 확인 nvm --version)
node 설치
$ nvm install --lts
해당 명령어를ㄹ 통해 node의 안정적인 최신 LTS버전 설치
(nvm ls 또는 node --version 통해 설치 확인)
git clone & build
노드의 기본 메모리 사이즈는 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로 늘려주었다.
Nginx 설치
$ 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 댓글에 아이피주소로 하면 안되었던 걸 도메인 설정을 하면서 해결이 되었다고 하는데 내일 도메인까지 설정해보면서 다시 확인해봐야겠다.
로컬에서 실행했을 때와 다르게
동영상을 재생 할 수 없음
오류가 존재했는데 현재는 도메인을 사용하면서 해결이 되었다.
Author And Source
이 문제에 관하여([배포][DJplaylist] VPS구입&환경구축, Nginx), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiseong/배포-VPS구입환경구축-Nginx저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)