frurio를 GCE로 설계하다
frurio 구성
1. vm 실례 구축
아래 캡처를 설정합니다. (필요에 따라 구역과 기계 종류 등을 변경하십시오.)
2. SSH를 vm 인스턴스에 연결
터미널에서 glocloud 명령을 사용하여 vm 인스턴스와 SSH 연결을 합니다.(Goole Cloud SDK가 없으면 설치합니다.)
이번에는 "instance-2"라는 이름으로 실례를 만들어 다음 명령을 집행한다.
gcloud compute ssh instance-2
3. vm 실례에 응용 프로그램 추가
debian에 다음 프로그램이 없기 때문에 설치합니다.
git
$ sudo apt install git
node.js npm$ sudo apt install nodejs npm
docker$ sudo apt-get install docker.io
docker-compose$ sudo apt-get install -y wget
$ sudo wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
$ sudo chmod +x /usr/local/bin/docker-compose
nginx$ sudo apt install nginx
4.cloud source repositories와gihub 결합
아래 링크를 참고하여github와 합작하십시오.
합작이 완료되면 목록에서 vm 실례로 복제할 창고를 선택하십시오
클론 > Google Cloud SDK에서 캡처한 단계에 따라 클론 복제
5. .env 파일 설정
클론 창고에 있습니다.env 파일을 설정합니다.
frurio의 경우 서버 디렉터리 바로 아래와 서버/prisma 디렉터리 바로 아래입니다.env 파일을 설정했기 때문에 같은 곳에 설치하십시오.
server/.env
API_오리진 캡처 부분을 빨간색으로 칠한 IP 주소 설정
SERVER_PORT=8080
BASE_PATH=/api
API_ORIGIN=http://--------
JWT_SECRET=supersecret
USER_ID=id
USER_PASS=pass
server/prisma/.env
DATABASE_URL=postgresql://root:root@localhost:5432/test
6.nginx의 역방향 에이전트
/api에 8080을 요청하면 3000에 할당을 요청합니다.
다음 파일을/etc/nginx/sites-available/default에 설정합니다.
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.html;
location /api/ {
proxy_pass http://localhost:8080;
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;
}
location / {
proxy_pass http://localhost:3000;
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;
}
}
설치 후 설정을 읽기 위해 아래 명령을 실행합니다sudo systemctl restart nginx
7. 시동
창고의 루트 바로 아래와 서버 디렉터리 바로 아래에서
npm i
실행한 후, docker를 시작하여 구축합니다.이 때, npm 스크립트를 설치하면 터미널이 떨어져도 영구화됩니다.
forever
$ sudo npm install forever -g
$ docker-compose up -d
$ npm run build:client
$ npm run build:server
$ forever start -c "npm run start:client" ./
$ forever start -c "npm run start:server" ./
감상
GCE에서 선이동을 목적으로 설계된 것은 이번이 처음이다.
이 때문에 수작업하는 부분이 많아 쓸데없는 짓을 한 것 같아 앞으로 개선하겠다.
잘 되면 다음 기사를 쓰고 싶어요.
Reference
이 문제에 관하여(frurio를 GCE로 설계하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/syuri/articles/98395cb7f8552a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)