아마존 웹서비스에서 컴퓨터를 빌리기는 개념. 그 컴퓨터를 내 서비스의 서버용으로 만든다.
이 파일을 프로젝트 루트 폴더에 넣어준다 (중요! .gitignore에 반드시 추가하기)
탄력적 IP
를 생성하는 게 편하다.front용 설치
sudo su (root로 변경)
apt-get update (리눅스 패키지 최신화)
apt-get install -y build-essential
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash --
apt-get install -y nodejs
back용 설치
sudo su (root로 변경)
apt-get update (리눅스 패키지 최신화)
apt-get install -y build-essential
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash --
apt-get install -y nodejs
apt-get install -y mysql-server
mysql_secure_installation
(mysql 비밀번호 설정 후)
mysql -uroot -p 실행하면 아래와 같이 mysql 문으로 이동
git clone 나의 프로젝트 깃
ls (폴더 열어보기)
rgProfect-react# cd front (경로로 들어가서 sudo npm i)
rgProfect-react# cd back (경로로 들어가서 sudo npm i)
npm i -g pm2
npm i pm2
로컬 프론트 package.json 명령어 수정
"scripts": {
"dev": "nodemon",
"build": "cross-env ANALYZE=true next build",
"prestart": "npm run build",
"start": "cross-env NODE_ENV=production PORT=80 pm2 start server"
},
로컬 백엔드 package.json 명령어 수정
"scripts": {
"dev": "nodemon",
"start": "pm2 start index"
},
pm2의 역할은 콘솔창에서 서버를 종료하더라고 백그라운드에서 분리된 서버가 계속 구동할 수 있도록 한다.
pm2 list : 구동 중인 서버 리스트 보여줌
pm2 monit : 모니터링의 기능으로 접속, 로그인 등 로그를 보여줌
pm2 kill : pm2가 실행 중인 서버 전체 종료
pm2 reload all : pm2 재실행
로컬에서 수정 후 깃으로 푸시를 하면
아마존 터미널(우분투 서버)에서 깃 풀 받는 방식이다.
> apt-get install vim (shell에서 돌아가는 에디터)
> vim .env
> vim 모드에서 쿠키와 같은 설정을 .env 파일에 기재되어있는대로 입력해주고
:wq (저장 후 vim 모드 종료)
server.listen(prod ? process.env.PORT : 3000, () => {
console.log(`next+express running on ${process.env.PORT}`);
});
아마존 프론트 서버 실행
> NODE_ENV=production PORT=80 node server
>mysql -uroot -p
>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql비밀번호(개발할 때 back>.env 파일에 적었던 비밀번호)';
>flush privileges;
>exit
>npm i -g sequelize-cli
>sequelize db:create