💫 내가 궁금해서 찾아봤는데 친절하게 정리된 곳이 없어서 포스팅하는 글이다
terminal 을 키고 시작해야 하며
원격서버를 작동시키기 위해선 먼저 aws ec2 인스턴스를 시작한 뒤 pem key를 받아와야 한다!
❗️이 pem key는 보안이 굉장히 중요하니 조심히 나만 볼 수 있게 저장해놓자
(보안 상 내 ip, url, pem key등은 가리겠다)
i-MacBookPro:~ ***$ cd desktop
i-MacBookPro:desktop ***$ cd key/
👉 키가 있는 디렉토리로 옮겨 가기
i-MacBookPro:key ***$ ssh -i 'key.pem' ubuntu@***.***.****.****
👉 keyname.pem , ubuntu@ 뒤에는 url 작성
The authenticity of host ‘***.****.****.***’ can't be established.
ECDSA key fingerprint is ~~.
Are you sure you want to continue connecting (yes/no)? yes
👉 물어보면 YES라고 답한다
Warning: Permanently added ‘***.*****.***.***’ (ECDSA) to the list of known hosts.
Welcome to Ubuntu !
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
…
3 packages can be updated.
0 updates are security updates.
*** System restart required ***
ubuntu@ip-***-**-**-***:~$ exit
👉 앞에가 ubuntu~ 로 시작하면 원격 서버 입장 성공 !!
나는 exit을 한 뒤 chmod 확인하려고 한다 ..
logout
Connection to ***.***.***.*** closed.
i-MacBookPro:key $ chmod 400 'key.pem'
i-MacBookPro:key $ ls -al
total 8
drwxr-xr-x 3 staff
drwx------@ 33 staff
-r--------@ 1 staff key.pem
👉 이렇게 나오면 chmod 성공
i-MacBookPro:key $ ssh -i 'key.pem' ubuntu@***.***.***.***
👉 재입장을 해봅시다
Welcome to Ubuntu !
…
ubuntu@ip-***-**-**-***:~$ git clone https://github.com---.git
👉 원격 서버에 Git 연결, 자신의 깃헙 주소를 갖고 온다
Cloning into …. Success!
ubuntu@ip-***-**-**-***:~$ ls
Server //server라는 프젝이 있군
ubuntu@ip-***-**-**-***:~$ cd Server/
👉 코드가 있는 프로젝트로 이동
ubuntu@ip-***-**-**-***:~/Server$ ls
README.md bin middlewares modules package-lock.json public upload
app.js controllers models node_modules package.json routes views
👉 config file 을 만들어 줘야 한다 , nodejs에서 config는 보안상 깃헙에 올릴 수가 없어서 클론을 해와도 없기 때문.
❗️이 부분이 내가 가장 헷갈렸던 부분👇
ubuntu@ip-***-**-**-***:~/Server$ mkdir database.js
ubuntu@ip-***-**-**-***:~/Server$ ls
README.md bin database.js models node_modules package.json routes views
app.js controllers middlewares modules package-lock.json public upload
👉 잘못 만들었다 config부터 만들어야 하는데 .. 다시!
ubuntu@ip-***-**-**-***:~/Server$ mkdir config
👉 config directory 만들기
ubuntu@ip-***-**-**-***:~/Server$ ls
README.md bin controllers middlewares modules package-lock.json public upload
app.js config database.js models node_modules package.json routes views
ubuntu@ip-***-**-**-***:~/Server$ cd config
ubuntu@ip-***-**-**-***:~/Server/config$ vi database.js
👉 vi 명령어를 이용하면 파일도 생기는 동시 파일 내용을 바로 작성 가능하다
기존에 Nodejs에서 적었던 파일 복붙하면 된다
ubuntu@ip-***-**-**-***:~/Server/config$ ls
database.js
...
👉 이런 식으로 config 내 파일들 작성 해준다.
ubuntu@ip-***-**-**-***:~/Server/config$ ls
database.js s3.json secretKey.js senderInfo.json
👉config 파일에 필요한건 작성 다 했다
ubuntu@ip-***-**-**-***:~/Server/config$ cd ..
ubuntu@ip-***-**-**-***:~/Server$ ls
README.md bin controllers middlewares modules package-lock.json public upload
app.js config database.js models node_modules package.json routes views
👉 다시 프로젝트 디렉토리로 이동
ubuntu@ip-***-**-**-***:~/Server$ rm database.js
rm: cannot remove 'database.js': Is a directory
ubuntu@ip-***-**-**-***:~/Server$ rm -r database.js
👉 아까 잘못 만든 database.js 삭제 : rm -r directoryname
ubuntu@ip-***-**-**-***:~/Server$ ls
README.md bin controllers models node_modules package.json routes views
app.js config middlewares modules package-lock.json public upload
ubuntu@ip-***-**-**-***:~/Server$ pm2 start ./bin/www --name [name]
👉 pm2 시작
Command 'pm2' not found, did you mean:
command 'wm2' from deb wm2
command 'pm' from deb powerman
command 'pom2' from deb libpod-pom-perl
command 'pmw' from deb pmw
command 'pms' from deb pms
command 'pmc' from deb linuxptp
command 'pmi' from deb powermanagement-interface
Try: sudo apt install <deb name>
🙀💢 큰일! Npm 이 없단다
ubuntu@ip-***-**-**-***:~/Server$ sudo apt install npm
👉 npm install
ubuntu@ip-***-**-**-***:~/Server$ sudo npm install -g pm2
👉 pm2 install
loadDep:@pm2/pm2-version- ▐ ╢█████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
… 뭔가 다운되는 중 …
ubuntu@ip-***-**-**-***:~/Server$ pm2 start ./bin/www --name [name]
👉 pm2 list 를 통해 보면 성공 !
-------------
__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
_\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
_\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
_\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
_\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
_\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
_\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
_\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
_\///______________\///______________\///__\///////////////__
Runtime Edition
✔️ config 파일 만드는 방법은
이걸 써도 된다고 한다! 방법은 다양하다고 하니 여러 방법 봐보고 사용해보시길!
'nodejs' 카테고리의 다른 글
⚙️ 회원가입 시 이메일, 비밀번호 형식에 맞게 써주세요! (0) | 2020.09.18 |
---|---|
🖼 nodejs 이미지 관련 모듈 multer 사용해보기 (0) | 2020.09.14 |
🤖 S3는 어떻게 설정하고 생성해야 하나요? (0) | 2020.09.14 |
👾 router 에서 쓰이는 4가지 메소드 (0) | 2020.09.13 |
📧 nodejs mailer module 사용법은? (0) | 2020.09.12 |