nodejs 버전 업그레이드
오라클 클라우드 instance : ubuntu 20.04
그냥 설치하면 10이 설치됨
strapi 가 node 12-14를 지원하므로
node를 14로 업그레이드
sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
strapi 설치
npx create-strapi-app@latest tera-strapi
strapi server.js & .env 설정
PUBLIC_URL을 아래와 같이 설정해주고, 서버에 배포후, .env파일을 만들어 PUBLIC_URL을 서버 주소로 수정해주면 됨
module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
url: env('PUBLIC_URL', 'http://localhost:1337')
});
(중요) 서버에서는 반드시 yarn build 를 한번 해줘야 함. 로컬에서는 할 필요 없음.
pm2 및 nginx 설치 및 설정
strapi를 쌩으로 실행하지 말고 pm2에 올려서 nginx를 프록시서버를 이용하여 실행하는 것이 좋다.
pm2 설정
pm2 설치후 server.js 파일 생성
pm2 start server.js 로 백그라운드 실행
https://docs.strapi.io/developer-docs/latest/guides/process-manager.html#install-pm2
nginx 설정
/etc/nginx/sites-available/컨피그파일
server {
listen 80;
listen [::]:80;
server_name {도메인};
root /var/www/html;
index index.html;
location / {
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://127.0.0.1:1337;
}
client_max_body_size 10M;
location ~ /\.ht {
deny all;
}
}
도메인 활성화를 위해 심볼릭 링크 생성
sudo ln -s /etc/nginx/sites-available/{도메인} /etc/nginx/sites-enabled
production 모드로 실행
pm2 init
vi ecosystem.config.js
module.exports = {
apps : [{
script: 'npm',
args: 'start',
name: 'tera-strapi-by-pm2',
}],
deploy : {
production : {
user : 'SSH_USERNAME',
host : 'SSH_HOSTMACHINE',
ref : 'origin/master',
repo : 'GIT_REPOSITORY',
path : 'DESTINATION_PATH',
'pre-deploy-local': '',
'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production',
'pre-setup': ''
}
}
};
pm2 start ecosystem.config.js
'IT일반 > Strapi' 카테고리의 다른 글
strapi 이미지를 cloudinary로 무료로 올리기 (0) | 2022.04.08 |
---|---|
strapi mysql을 heroku 에 배포해보기 (0) | 2022.03.31 |
백엔드 strapi v4 도커로 생성 (0) | 2022.03.17 |
댓글