• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

s3 연결하기 강의 중에

23.04.22 13:14 작성 조회수 410

0

안녕하세요 제로초님 항상 질문에 빨리 답변 달아주셔서 감사합니다.

백엔드에 문제가 있는거 같은 pm2 monit은 아래와 같이 뜹니다

스크린샷 2023-04-22 오후 1.09.49.png스크린샷 2023-04-22 오후 1.06.41.png

 

const express = require("express");
const session = require("express-session");
const cookieParser = require("cookie-parser");
const cors = require("cors");
const app = express();
const postRouter = require("./routes/post");
const userRouter = require("./routes/user");
const postsRouter = require("./routes/posts");
const hashtagRouter = require("./routes/hashtag");
const db = require("./models");
const passportConfig = require("./passport");
const passport = require("passport");
const dotenv = require("dotenv");
const morgan = require("morgan");
const path = require("path");
const hpp = require("hpp");
const helmet = require("helmet");

dotenv.config();
db.sequelize
  .sync()
  .then(() => {
    console.log("db 연결성공");
  })
  .catch(console.error);
passportConfig();
//모드변경
if (process.env.NODE_ENV === "production") {
  app.use(morgan("combined"));
  app.use(hpp());
  app.use(helmet({ contentSecurityPolicy: false }));
  app.use(
    cors({
      origin: "http://sansbook.co.kr",
      credentials: true,
    })
  );
} else {
  app.use(morgan("dev"));
  app.use(
    cors({
      origin: true,
      credentials: true,
    })
  );
}

// app.use(
//   cors({
//     origin: [
//       "http://localhost:3000",
//       "http://sansbook.co.kr",
//       "http://43.200.92.114",
//     ],
//     credentials: true,
//   })
// );
app.use("/", express.static(path.join(__dirname, "uploads")));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
  session({
    saveUninitialized: false,
    resave: false,
    secret: process.env.COOKIE_SECRET,
    cookie: {
      httpOnly: true,
      secure: false,
      domain: process.env.NODE_ENV === "production" && ".sansbook.co.kr",
    },
  })
);
app.use(passport.initialize());
app.use(passport.session());

app.get("/", (req, res) => {
  res.send("hello express");
});
app.use("/posts", postsRouter);
app.use("/post", postRouter);
app.use("/user", userRouter);
app.use("/hashtag", hashtagRouter);

app.listen(80, () => {
  console.log("서버실행중!");
});

스크린샷 2023-04-22 오후 1.00.56.png스크린샷 2023-04-22 오후 1.01.12.png스크린샷 2023-04-22 오후 1.01.31.png

답변 2

·

답변을 작성해보세요.

0

.gitignore에 node_modules 같은 폴더 다 넣어서 GitHub에 올려두셨나요?

0

백엔드에서 npm i 하셨나요?

했는데도 저 에러가 뜬다면 aws-sdk 버전 제 강좌랑 다른 것을 설치하셔서 그렇습니다. 제 강좌랑 다른 버전을 설치하신 것에 대해서는 스스로 해결하셔야 합니다.

장산님의 프로필

장산

질문자

2023.04.22

제로초님 궁금한게 있는데 우분투에서 패키지 설치하면 속도가 엄청 느리더라구요 이유가 있나요? 백엔드만 엄청 느립니다! sudo npm i하는데 5분 걸리는거같아요

보통 첫 설치는 느릴 수 있습니다. 패키지가 엄청 많고 다운로드할 것도 많아서요. 특히 js파일말고 아예 c++같은 다른 소스를 받는 경우에 느립니다. bcrypt같은 것들이 특히 느려요.

장산님의 프로필

장산

질문자

2023.04.22

아 그리고 제가 우분투로 접속해서 파일같은거 전혀 안건드리는데도 git reset --hard가 전혀 먹히질 않아서 매번 제거 다시 클론하는데 git에 문제가 있는건가요? 우분투로 접속해서 vim이나 git 명령어는 절대 사용안합니다

git clone 후에 git status 해보고, npm i 후에 다시 git status 해보세요.

장산님의 프로필

장산

질문자

2023.04.22

아 그리고 제로초님 버전이랑 맟추고 난뒤로는 이런 에러가 뜹니다!

스크린샷 2023-04-22 오후 2.20.29.png

const express = require("express");
const session = require("express-session");
const cookieParser = require("cookie-parser");
const cors = require("cors");
const app = express();
const postRouter = require("./routes/post");
const userRouter = require("./routes/user");
const postsRouter = require("./routes/posts");
const hashtagRouter = require("./routes/hashtag");
const db = require("./models");
const passportConfig = require("./passport");
const passport = require("passport");
const dotenv = require("dotenv");
const morgan = require("morgan");
const path = require("path");
const hpp = require("hpp");
const helmet = require("helmet");

dotenv.config();
db.sequelize
  .sync()
  .then(() => {
    console.log("db 연결성공");
  })
  .catch(console.error);
passportConfig();
//모드변경
if (process.env.NODE_ENV === "production") {
  app.use(morgan("combined"));
  app.use(hpp());
  app.use(helmet({ contentSecurityPolicy: false }));
  app.use(
    cors({
      origin: "http://sansbook.co.kr",
      credentials: true,
    })
  );
} else {
  app.use(morgan("dev"));
  app.use(
    cors({
      origin: true,
      credentials: true,
    })
  );
}

// app.use(
//   cors({
//     origin: [
//       "http://localhost:3000",
//       "http://sansbook.co.kr",
//       "http://43.200.92.114",
//     ],
//     credentials: true,
//   })
// );
app.use("/", express.static(path.join(__dirname, "uploads")));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
  session({
    saveUninitialized: false,
    resave: false,
    secret: process.env.COOKIE_SECRET,
    cookie: {
      httpOnly: true,
      secure: false,
      domain: process.env.NODE_ENV === "production" && ".sansbook.co.kr",
    },
  })
);
app.use(passport.initialize());
app.use(passport.session());

app.get("/", (req, res) => {
  res.send("hello express");
});
app.use("/posts", postsRouter);
app.use("/post", postRouter);
app.use("/user", userRouter);
app.use("/hashtag", hashtagRouter);

app.listen(80, () => {
  console.log("서버실행중!");
});

저건 .env 파일 설정인거 기억하시죠?

장산님의 프로필

장산

질문자

2023.04.22

제로초님 혹시 강의하고 버전 맟추어야 하는거 뭐뭐있나요?

이번에는 Error: /home/ubuntu/Sansbook-back/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF 이에러가 떠서 제가 잘하고 있는지 잘모르겠네요

npm i 하면 제가 뭘 잘못설치했나 아래 에러도 뜨네요 ㅠㅠ

스크린샷 2023-04-22 오후 3.14.25.png

일단 node_modules 폴더 지운 다음에 npm i bcrypt 먼저 하고 다시 npm i 해보세요

장산님의 프로필

장산

질문자

2023.04.22

bcrypt도 같은 버전으로 다시 설치해봤는데 같은오류가 계속 뜹니다

제 깃허브 주소입니다

https://github.com/mocakosan/Sansbook-back

저 에러는 윈도우나 맥용 bcrypt가 리눅스에 설치돼서 그렇습니다.

npm rm bcrypt 후에 npm i bcrypt 하여 리눅스용 bcrypt를 다시 설치하세요.