2023년 4월 5일 수요일

[NodeJS] 프로젝트에 힙 크기 할당 (PM2 이용)


pm2 설치

# npm을 사용하여 pm2-logrotate를 전역으로 설치

$sudo npm i pm2-logrotate -g


# 활성화

$sudo pm2 set pm2-logrotate:active true


# 설정변경 (선택사항)

$pm2 set pm2-logrotate:max_size 10M

$pm2 set pm2-logrotate:retain 7

$pm2 set pm2-logrotate:compress true


pm2 실행 시 메모리 할당

$pm2 start ./src/index.js --name 15_SCHE --node-args="--max-old-space-size=10240"


pm2를 이용하여 start 할 때 --node-args를 이용하여 nodejs에 인자를 전달한다.


--max-old-space-size 인자는 nodejs에서 Mbyte 단위의 메모리를 할당한다.

System의 램 용량을 확인하여 할당하도록 한다.

2023년 3월 27일 월요일

[AWS] Front에서 S3에 파일 직접 업로드

1. S3에 버킷 생성

2. 버킷 [권한] 설정

A. 퍼블릭 액세스 차단(버킷 설정)

B. 객체 소유권 편집

C. CORS 편집


[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "HEAD"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]


3. IAM에서 사용자 및 역할 구성
버킷명이 afterdata인 경우

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
    "s3:PutObject",
    "s3:PutObjectAcl",
    "s3:GetObject"
],
"Resource": [
    "arn:aws:s3:::zipl/*"
]
}
]
}