๐ ๋ค์ด๊ฐ๋ฉฐ
EC2๋ฅผ ์ด์ฉํด ์๋ฒ ๋ฐฐํฌ๋ฅผ ํ ํ, ์ฅ์๊ฐ ์ ๋ ฅ์ด ์์ผ๋ฉด ์๋ฒ๊ฐ ๋ซํ๊ฒ ๋๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋ก์ธ์ค ๋งค๋์ ์ฆ, PM2๋ฅผ ์ฌ์ฉํ๋ค.
โ ์ค์ต์ vscode ํฐ๋ฏธ๋์์ ์งํํ๋ ค๊ณ ํ๋ค. ์ด๋ฅผ ec2 ํฐ๋ฏธ๋์์ ๋์ผํ๊ฒ ์งํํ๋ฉด ๋๋ค!
๐ PM2 ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ
1. ํด๋น ๋๋ ํ ๋ฆฌ์์ PM2๋ฅผ ์ ์ญ์ผ๋ก ์ค์นํ๋ค.
$ cd <ํด๋น ๋๋ ํ ๋ฆฌ>
$ yarn global add pm2
โ yarn ๋์ npm์ ์ฌ์ฉํ ์ (-g๋ ์ ์ญ ์ค์น ์ต์ )
$ npm install pm2 -g
2. yarn build๋ฅผ ํตํด typescript์ฝ๋๋ฅผ javascript๋ก ๋ณํ (์คํ์ด ์ ๋๋ก ๋๋์ง ํ์ธํ๊ธฐ ์ํจ)
$ yarn build
์๋ฒ๊ฐ ์ ์คํ๋๋ค๋ฉด ์ฑ๊ณต!
3. dist ํด๋ ํ์ธ
ํด๋น ์ฝ๋์ dist ํด๋๊ฐ ์๊ธด๋ค.
๋ง์ฝ dist ํด๋๊ฐ ์๊ธฐ์ง ์์๋ค๋ฉด tsconfig.json๋ก ๋ค์ด๊ฐ์ "outDir"๊ฐ "./dist"๋ก ๋์ด์๋์ง ํ์ธํ๋ค.
{
"compilerOptions": {
"target": "es6",
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"moduleResolution": "node",
"module": "commonjs",
"pretty": true,
"sourceMap": true,
"outDir": "./dist", //์ฌ๊ธฐ!!
"allowJs": true,
"noEmit": false,
"esModuleInterop": true,
"typeRoots": ["./src/types/express.d.ts", "./node_modules/@types"]
},
"include": ["./src/**/*"],
"exclude": ["node_modules", "tests"]
}
โ ํด์ปคํค ๋ build ์ค๋ฅ๊ฐ ๋ ์ ์ด ์์๋๋ฐ mongoose ๊ด๋ จ ์๋ฌ์๋ค.
๋ชฝ๊ตฌ์ค ๋ฒ์ ์ด ์ ๋ฐ์ดํธ ๋๋ฉด์ ๋ค๋ฅธ ํจํค์ง์ ์ถฉ๋์ด ๋ฌ๋ ๊ฒ์ด๋ค.
์ด๋ด ๊ฒฝ์ฐ pakage.json์์ "mongoose": "^5.12.10" ๋ฒ์ ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋๋ค!
4. PM2 ์คํ
yarn buildํด์ ์คํ์์ผฐ๋ ์๋ฒ๋ ^C๋ก ์ค์งํ๊ณ ํด๋น ํฐ๋ฏธ๋์์ pm2๋ฅผ ์คํํ๋ค.
$ pm2 start dist
๐ PM2 ๊ธฐ๋ณธ ๋ช ๋ น์ด ๋ฐ ์ ์ฉํ ์ต์
- pm2 start <jsํ์ผ>: pm2๋ฅผ ์คํ์ํจ๋ค. (ํ์ฌ ์ค์ต์์๋ ts์์ js๋ก ๋ฐ๊พผ ํ์ผ์ด dist)
- --watch ์ต์ : ์๋ ๋ฆฌ๋ก๋ํด์ค๋ค. (pm2๋ฅผ ์คํ์ํจ ํ ์ฝ๋ ์์ ํ์ ์ ๋ณ๊ฒฝ์ฌํญ์ ์๋์ผ๋ก ๋ฆฌ๋ก๋ ํด์ค๋ค.)
- pm2 kill: pm2 ์ข ๋ฃ์ํจ๋ค.
- pm2 list: ์คํ ์ค์ธ ์๋ฒ ์ํ๋ฅผ ๋ณด์ฌ์ค๋ค.
- pm2 stop <jsํ์ผ>: ํด๋น ์๋ฒ๋ฅผ ์ค์ง์ํจ๋ค.
- pm2 restart <jsํ์ผ>: ํด๋น ์๋ฒ๋ฅผ ์ฌ์์ํ๋ค.
- pm2 monit: pm2 ์คํ ์ํฉ์ ํ ๋ฒ์ ๋ณด์ฌ์ค๋ค.
- pm2 logs: ํ์ฌ ์คํ ์ค์ธ pm2 log ํ์ธํ๋ค. (์ค๋ฅ ํ์ธ ๊ฐ๋ฅ)
โ ์ฐธ๊ณ : 28th SOPT SERVER 7์ฐจ ์ธ๋ฏธ๋ ์๋ฃ
'Programming > ETC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AWS RDS] timezone ๋ณ๊ฒฝํ๊ธฐ(UTC to KST) (1) | 2022.04.07 |
---|---|
[AWS] EC2๋ฅผ ์ด์ฉํ ์๋ฒ ๋ฐฐํฌ ๋ฐฉ๋ฒ - ไธ (0) | 2021.07.29 |
[AWS] EC2๋ฅผ ์ด์ฉํ ์๋ฒ ๋ฐฐํฌ ๋ฐฉ๋ฒ - ไธ (2) | 2021.07.29 |