frurio를 GCE로 설계하다

4265 단어 GCPfrouriotech
GRP 초보자는 최근 유행하는 frurio를 GCE(Google Computee Engine)로 설계한 후 절차를 밟는다.

frurio 구성

  • 헬프데스크: Nuxt.js(3000번으로 시작)
  • 백엔드:Fastify(8080번으로 시작)
  • DB: PostgreSQL (Docker에서 5432호로 시작합니다. 루트 바로 아래에 docker-composie.yml 파일이 있습니다)
  • 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와 합작하십시오.
    https://cloud.google.com/source-repositories/docs/mirroring-a-github-repository?hl=ja
    합작이 완료되면 목록에서 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에서 선이동을 목적으로 설계된 것은 이번이 처음이다.
    이 때문에 수작업하는 부분이 많아 쓸데없는 짓을 한 것 같아 앞으로 개선하겠다.
    잘 되면 다음 기사를 쓰고 싶어요.

    좋은 웹페이지 즐겨찾기