Ubuntu 20.04 버전에 NVM, Node, mysql,pm2 설치하기

김인태·2023년 8월 28일
0
post-thumbnail

설치하고자 한 이유

현재 사이드 프로젝트 안에서 사용할 DB를 배포를 해야 했습니다. 그러기 위해선 nvm, mysql, pm2, node , yarn까지 전부 설치해야 했습니다. 수많은 시행착오 끝에 성공했기 때문에 이렇게 블로그를 작성해봅니다.

혹시나 본인의 우분투 버전이 헷갈린다? 20.04 버전이 맞나..싶다면

lsb_release -a <- 요 명령어를 입력해서 확인해보세요!

mysql 설치

순서대로 진행하시면 mysql 5.7 버전을 설치할 수 있습니다.

  1. mysql 5.7 저장소 추가하기.
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

2.저장소 설치하기.

$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

이 명령어를 입력하면 분홍색 화면이 나옵니다. 당황하지 않고 abort를 누르시면 절!대! 안됩니다.
그러면 5.7버전 설치를 할 수가 없습니다...ㅠ
여기 나온 순서대로 선택 해주시면 되겠습니다.

1. Ubuntu Bionic 선택
2. MySQL & Server Cluster
3. mysql-5.7
4. ok!

이 때 비밀번호를 설정하게 되는데 원하는 비밀번호로 잘 설정하시길 바랍니다.

  1. 설치가 끝났다면 apt 저장소를 업데이트 합니다.
sudo apt update
  1. 아래와 같은 오류가 발생할 것입니다.
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
  1. 누락된 gpg 키를 가져옵니다
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
  1. 다시 업데이트 합니다.
sudo apt update
  1. 성공적으로 업데이트 되었는지 확인합니다.
$ sudo apt-cache policy mysql-server

아래와 같은 결과가 나올 것입니다.

mysql-server:

Installed: (none)

Candidate: 8.0.27-0ubuntu0.20.04.1

Version table:

  8.0.27-0ubuntu0.20.04.1 500

    500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages

    500 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages

  8.0.19-0ubuntu5 500

    500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages

  5.7.37-1ubuntu18.04 500

    500 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 Packages
  1. 설치를 완료 했으면 관련 라이브러리를 설치해줍니다.
$ sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
  1. mysql 보안 설정을 해줍니다.
$ sudo mysql_secure_installation

보안설정을 시작하면 질문이 나옵니다.
이렇게 대답해주시면 됩니다.
1. Validate password plugin 사용하실껀가요?
저는 개발용 , 테스트용이기 때문에 N! 하지만 production 용이라면 사용하시는 것을 권장합니다.
2. root 비밀번호를 물으면 원하는 root 비밀번호를 동일하게 두 번 입력!
3. Anonymous user 삭제? Yes!
4. 외부에서 root 계정 접근 허용? No!
외부에서 root 계정을 접근 할 일은 거의 없습니다!
5. Test DB 삭제 ? Yes!
6. privileges table reload? Yes!

  1. root 계정으로 접속합니다.
 mysql -u root -p 
 비밀번호 입력
 SELECT VERSION(); // mysql 버전확인
 show databases //현재 database 확인.

NVM 설치하기

  1. curl 명령어를 사용해서 설치합니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  1. source 명령어를 사용해 NVM 활성화 시켜줍니다.
source ~/.bashrc
nvm -v // 중간에 설치가 잘 되었는지 nvm 버전도 확인 해봅니다.
  1. 원하는 버전을 설치해줍니다.
nvm install node // 제일 최신버전 설치
nvm install <버전> 
nvm install 18 // 저희팀은 18버전을 사용하기 때문에 18을 썼습니다.

//혹시 몰라 삭제 명령어도 적겠습니다.
nvm uninstall <버전> 

pm2 설치하기

  1. pm2 설치하기
npm install -g pm2
  1. pm2 구동시키기
pm2 start server.js

저희 팀같은 경우는 루트 경로를 설정해줘야 했습니다.

ecosystem.config.js
module.exports = {
  apps: [
    {
      name: 'dmet',
      script: '/home/ubuntu/DevMet-backend/dist/main.js', // 절대 경로로 수정
      exec_mode: 'cluster',
      instances: 'max',
      node_args: '-r ts-node/register',
    },
  ],
};

추가적인 명령어

  • pm2 kill (돌아가고 있는 모든 인스턴스 종료)
  • pm2 status (인스턴스 상태확인)
  • pm2 logs <돌아가고있는 instance파일> (인스턴스 로그확인)

[참고 블로그]

[mysql 설치]
https://www.vultr.com/docs/how-to-install-mysql-5-7-on-ubuntu-20-04/
[mysql root 비밀번호 설정하기]
https://joonyon.tistory.com/entry/LinuxMySQL-Server-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-feat-Ubuntu-1804
[우분투에 NVM node 설정하기]
https://iter.kr/%EC%9A%B0%EB%B6%84%ED%88%AC-nvm-node-js-%EC%84%A4%EC%B9%98-%EC%84%A4%EC%A0%95/
[pm2 설치하기]
https://songjang.tistory.com/11

profile
새로운 걸 배우는 것을 좋아하는 프론트엔드 개발자입니다!

0개의 댓글