• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 구글 클라우드 배포 후 게시물 작성시 에러

구글 클라우드 배포 후 게시물 작성시 에러

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #86522

    김준식
    참가자
    로컬 환경에서는 이미지를 제외한 글을 올리던 이미지를 포함한 글을 올리던 문제없이 잘 올라갑니다.
    하지만 구글 클라우드에 배포 후 들어가서 글을 작성할 때 이미지를 제외하면 문제없이 작성이 되지만 이미지를 포함하면
    
    화면에 Internal Server Error라는 문구와 
    콘솔에는이미지오류 이렇게 나옵니다...
    
    혹시나 이미지 용량이 문제가 될까하여
    
    // =======  delete  =======
    app.delete("/delete", (req, res) => {
      req.body._id = parseInt(req.body._id);
      let deleteItem = { writerId: req.body, user: req.user.id };
      if (req.body.writerId == req.user.id || req.user.id == "manager") {
        if (req.body.upload) {
          db.collection("post").deleteOne(req.body, (err, result) => {
            db.collection("comment").deleteMany(
              { parentAddress: req.body._id },
              (err, result) => {
                console.log(`${req.body._id}번 게시물 삭제`);
                res.status(200).send({ message: "성공했습니다." });
              }
            );
          });
          fs.unlink(`./public/image/${req.body.upload}`, (err) => {
            try {
              if (err) throw new Error();
              console.log(`${req.body.upload} 삭제`);
            } catch (e) {
              console.log(e.message);
            }
          });
        } else {
          // console.log(`=== 삭제한 게시물 번호: ${req.body._id} ===`);
          db.collection("post").deleteOne(req.body, (err, result) => {
            db.collection("comment").deleteMany(
              { parentAddress: req.body._id },
              (err, result) => {
                console.log(`${req.body._id}번 게시물 삭제`);
                res.status(200).send({ message: "성공했습니다." });
              }
            );
          });
        }
      } else {
        console.log("게시물의 작성자가 아닙니다.");
      }
    });
    
    fs 라이브러리를 사용해서 이미지를 image 폴더에서 아예 삭제하도록 해놨는데 도대체 뭐가 문제인지 파악이 되지가 않습니다.
    
    #86530

    codingapple
    키 마스터
    클라우드 콘솔에서 로그같은거 출력해보면 어떤 에러나나 확인가능합니다 
    클라우드에서 이미지같은건 google cloud storage같은데 저장하는게 나중에 인스턴스 많아지면 더 안전합니다
    #86622

    김준식
    참가자
    로그를 확인해봤습니다. 어떤 부분을 봐야하나요?
    {
      "insertId": "gnp80nfu0ca7b",
      "jsonPayload": {
        "remoteIp": "219.248.234.32",
        "statusDetails": "response_sent_by_backend",
        "backendTargetProjectNumber": "projects/1078183198768",
        "cacheDecision": [
          "RESPONSE_HAS_CONTENT_TYPE",
          "CACHE_MODE_USE_ORIGIN_HEADERS"
        ],
        "@type": "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
      },
      "httpRequest": {
        "requestMethod": "POST",
        "requestUrl": "https://todo-app-387113.du.r.appspot.com/add",
        "requestSize": "1259545",
        "status": 500,
        "responseSize": "402",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Whale/3.20.182.14 Safari/537.36",
        "remoteIp": "219.248.234.32",
        "referer": "https://todo-app-387113.du.r.appspot.com/write",
        "serverIp": "10.178.0.7"
      },
      "resource": {
        "type": "http_load_balancer",
        "labels": {
          "target_proxy_name": "",
          "backend_service_name": "aef-default-20230610t183130-bs",
          "url_map_name": "",
          "zone": "global",
          "project_id": "todo-app-387113",
          "forwarding_rule_name": ""
        }
      },
      "timestamp": "2023-06-11T12:40:09.060006Z",
      "severity": "WARNING",
      "logName": "projects/todo-app-387113/logs/requests",
      "trace": "projects/todo-app-387113/traces/c9b6a58f2df51ca1f569e7774acabbe3",
      "receiveTimestamp": "2023-06-11T12:40:10.390874616Z",
      "spanId": "a2bf0f7421b701a7"
    }
    #86664

    codingapple
    키 마스터
    그거말고 터미널에 뜨는 로그같은게 어딘가에 있습니다
    #86736

    김준식
    참가자
    cloud shell에 명령어를 입력해서 확인해야하나요?
    cloud shell
    #86755

    codingapple
    키 마스터
    파일이 해당경로에 없다는 에러같은데 경로확인해보거나 
    app.yaml파일에 인스턴스를 1개만 쓰거나 아니면 구글클라우드 storage에 이미지 넣는게 안전합니다
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠