SSL, Nginx, PM2를 사용하여 단일 서버에 여러 NodeJS 앱 배포 - 2부

전제 조건



시리즈의 Part 1을 읽으십시오.

우리는 이미 첫 번째 앱에 대해 NGINX, PM2 및 SSL을 설정했으며 새 NodeJS 앱을 설정할 것입니다.
새 앱을 시작하고 실행하기 위해 수행해야 하는 단계가 거의 없습니다.

08단계 - 새 프로젝트 복제 또는 파일로 새로 만들기



새 폴더를 만들고 새 앱을 만들고 다른 포트 번호에서 실행하는 02단계와 매우 유사합니다.

mkdir App2
cd App2


이제 index.js라는 새 파일을 만듭니다.

nano index.js


이제 index.js에 다음 코드를 붙여넣습니다.

const http = require('http');

const hostname = 'localhost';
const port = 4000; //make sure this port no is different from the first one

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello Everyone from APP 2 !\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});


09단계 - PM2로 앱 시작



PM2로 앱을 시작하고 선택적 이름을 지정합니다.

pm2 start index.js --name "APP 2"


이렇게 하면 포트 번호 4000에서 앱이 시작됩니다. 다음과 같이 PM2로 실행 중인 모든 앱을 볼 수도 있습니다.

pm2 list


이렇게 하면 ID 또는 이름을 사용하여 시작/중지/다시 시작할 수 있는 실행 중인 모든 앱 목록이 제공됩니다.

10단계 - NGINX로 역방향 프록시 추가



이 앱에 대해서도 서버 구성을 한 번 더 추가해야 합니다.
서버를 업데이트하려면 먼저 구성을 엽니다.

sudo nano /etc/nginx/sites-available/default


이 새 블록을 서버 블록의 위치 부분에 추가합니다.

    server_name yourdomain2.com www.yourdomain2.com;

    location / {
        proxy_pass http://localhost:4000; 
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }


하위 도메인에서 두 번째 앱을 호스팅하려는 경우 yourdomain2.comapi2.yourdomain.com와 같은 하위 도메인으로 바꾸십시오.

그런 다음 NGINX를 확인하고 다시 시작하십시오.

# Check NGINX config
sudo nginx -t

# Restart NGINX
sudo service nginx restart


도메인이 지정되면 포트 80에서 앱이 작동하는 것을 볼 수 있습니다. SSL을 추가하는 단계가 한 단계 더 있습니다.

11단계 - 두 번째 APP용 SSL 추가



이미 certbot이 설치되어 있으므로 추가 도메인을 추가하는 것은 문제가 되지 않습니다.

sudo certbot --nginx -d yourdomain2.com -d www.yourdomain2.com


또는 하위 도메인의 경우

sudo certbot --nginx -d api2.yourdomain.com


그게 전부입니다. 새 앱은 SSL을 사용하여 새 도메인에서 라이브여야 합니다.

건배를 읽어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기