서버구축_3

김수현·2025년 5월 26일

Suhyeon's 개발일지

목록 보기
19/34

디비는 다 옮겨놨고, 이젠 nodejs와 npm을 설치 했다.

sudo apt-get install nodejs
sudo apt install npm

그 후,

github에 있는 폴더를 다운로드 했다.

git에서 코드를 가져오기 위해 토큰 방식과 ssh 방식이 있는데 난 토큰 방식을 사용했다.
(ssh 방식이 더 안전하고 편리하다는 정보를 늦게 알았기 때문에 나중엔 ssh 방식을 사용해야겠다.)

git에 접속하여 generate new token을 통해 토큰을 생성했다.

우분투에서 아래 명령어를 통해 가져왔다.

git clone https://<USERNAME>:<TOKEN>@github.com/suhyeon57/rnslab.git

이렇게 폴더를 다운로드 하였고, 그 다음은 pm2를 사용하기 위해 pm2를 다운로드 하였다.

sudo npm install -g pm2

pm2란?
node.js 어플리케이션을 쉽게 관리할 수 있게 해주는 Process Manager이다.

pm2 설치는 완료했고, pm2를 시작하기 전에 도메인을 설정해주려고 한다.

도메인 신청은 끝난 상태이고, nginx를 통해 도메인을 연결해주면 된다.

도메인 연결을 위해 먼저, Let;s Encrypt SSL을 발급받아야 한다.

sudo apt install certbot python3-certbot-nginx

먼저 certbot을 설치한 후

sudo certbot --nginx -d yourdomain.com

위 명령어를 통해 인증서를 발급받는다.

그 후, /etc/nginx/sites-available/domain.com 파일을 만들어 준 후 server_name을 도메인이름으로 변경해준다.

server {
    listen 80;
    server_name domain.com;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name domain.com;

    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.html;

    location / {
        try_files $uri /index.html;
    }

    location /api/ {
        proxy_pass http://localhost:11061;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

파일 설정이 끝났으면, 심볼릭 링크 연결을 해준다.

sudo ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/
sudo systemctl reload nginx

nginx를 재시작해주면 도메인 설정은 끝이다.

0개의 댓글