--서버 배포--
1. AWS 서버 실행
- RSA
2.powershell 우분투 접속
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
(ec2-user@AWS에적힌내아이피)
3. node js 설치
https://github.com/nodesource/distributions 에서
14.0x 버전 설치
ls현재 상태 목록
cd 폴더 명
관리자 권한 싱행 sudo-s
mysql 설치
https://luji.tistory.com/7
https://ppost.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-1804%EC%97%90-%EC%84%9C%EB%B2%84%ED%99%98%EA%B2%BD-nodemysql%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0
4
1) 몽고디비 공식 사이트에서 설치
1,3,4 그대로
2번 ubuntu18.04 설치
5.sudo service mongod start
mongo
use admin;
db.createUser({user: "test", pwd: "test", roles:["root"]});
exit
sudo service mongod restart
sudo vi /etc/mongod.conf
-> i, 파일 수정 후: esc 누른 후 : w q
binIp: 0.0.0.0
security 주석처리
sudo service mongod restart
security:
enabled
6.파일 질라 실행
사이트 관리자..
프로토콜: SFTP - SSH file~
호스트: 사이트 도메인
포트: 22
로그온 유형: 키파일
사용자: ubuntu
키파일: 업로드
8. cd 파일명
7. node modules 제거
sudo rm -rf node_modules
npm i, npm install bcrypt --save
9. sudo -s (관리자 권한 실행)
10. npm install -g pm2 (pm2 설치) (pm2 눌러서 설치 확인)
11.pm2 start index.js(파일명)
pm2 delete 0
12.pm2 ls
13 80포트를 3000번 포트로 보내기
80포트, mysql포트 열어주기
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
포트 포워딩 죽이는 법
https://srzero.tistory.com/entry/Ubuntu-Iptable-nat-%EC%A1%B0%ED%9A%8C-%EB%B0%8F-%EC%84%A4%EC%A0%95-%EC%82%AD%EC%A0%9C
sudo iptables -t nat -L --line-numbers 포트포워드 목록
sudo iptables -t nat -D
sudo -s
npm install -g pm2
pm2 start app.js --watch
pm2 log
npm install -g nodemon
이미지 파일 업로드 필요할 시
pm2 start main.js --watch --ignore-watch="data/* sessions/*"
sudo chmod 400 받은키페어를끌어다놓기
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
예) 아래와 비슷한 생김새!ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
예) 아래와 비슷한 생김새!ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
[코드스니펫] mongoDB 설치 코드
👉 mongoDB 공식자료를 참고해서 정리했습니다. [(링크)](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/) 한 줄 한 줄이 무슨 뜻인지는 지금 굳이 알 필요 없어요!wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org
mongoDB 실행하기
# 실행. 아무 반응이 없으면, 잘 실행된 것!
# 리눅스는 보통 잘 되면 아무것도 안나와요!^^;
sudo service mongod start
mongoDB 접속 계정 생성하기
👉 우리가 만든 mongoDB를 외부에 열어주기 전에, 접속에 필요한 아이디와 비밀번호를 세팅해봅시다! (설정 안하면 누구나 DB정보를 볼 수 있다는..!)mongo
👉 좌측에 '>' 표시가 나오면 성공적으로 MongoDB에 접속한 것입니다! 다음 명령어를 순차적으로 입력해주세요.
눈치 채셨겠지만,
test, test 자리에 내가 넣고 싶은 아이디/비밀번호를 넣으면 됩니다. (영어로..!)
# admin으로 계정 바꾸기
use admin;
# 계정 생성하기
db.createUser({user: "test", pwd: "test", roles:["root"]});
👉 아래와 같은 화면을 보면 완성!
# 나오기
exit
# MongoDB 재시작
sudo service mongod restart
mongoDB를 외부에 열어주기
👉 mongoDB는 디폴트로 내부에서만 접속을 허용하고 있습니다. 이 작업은 외부에서 접근이 가능하도록 잠금을 풀어주는 것입니다.리눅스 자체 에디터(고급 메모장 정도로 생각!)인 Vim이 등장합니다.
a
를 눌러야 입력 모드가 되고, :wq
를 눌러야 저장하고 나올 수 있습니다.
sudo vi /etc/mongod.conf
# sudo: 관리자(SuperUser) 권한으로 다음을 실행
# => "관리자 권한으로 /etc 폴더 아래 mongod.conf 파일을 Vim으로 켜줘!"라는 뜻입니다
위 명령어를 실행하신 후, 아래 방향 화살 키를 누르시면 다음과 같은 내용이 보입니다.
# 입력 모드 전환
i
위 붉은 박스의 내용을 아래와 같이 바꿔주세요!
# 내용 저장하고 에디터 종료하기. esc 누르고 다음 입력.
:wq
# 재시작
sudo service mongod restart
Perform authentication 체크박스를 클릭합니다.
생성한 계정의 아이디와 비밀번호를 입력하고, 'save'를 클릭합니다.
👉 하지만, EC2 인스턴스 자체에서 27017 포트 대문을 아직 열지 않았기 때문에, 접속이 완료되지 않습니다. 일단 이 상태로 둔 다음, 챕터 9에서 EC2 포트 설정 후 다시 접속해봅니다.cd sparta-node-basic
(여러분 프로젝트 이름으로)
👉 프로젝트로 들어간 다음, npm install
명령어를 쳐줍니다.
프로젝트 도구들은 node_modules에 들어 있지만, 옮기는 과정에서 누락됐을 경우를 고려하여 다시한번 재설치해줍니다.(이미 설치가 제대로 되어 있으면, 덮어씁니다)
이를 위해 PM2라는 도구를 사용합니다.
해당 명령어를 사용하면, Node.js 프로젝트 서버를 직접 끄지 않은 이상, 컴퓨터를 닫아도 계속 실행됩니다.
이 밖에도 PM2 도구는 서버 실행과 운영을 위해 유용하고 다양한 기능을 제공하고 있으니 추후에 확인해보시기 바랍니다.
PM2 도구는 서버 컴퓨터의 관리자 권한을 취득 한 후 사용할 수 있기 때문에, 관리자 권한 취득 명령어를 먼저 실행 한 후 설치합니다.
sudo -s
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000