소개
게시글
질문&답변
2024.02.08
새로 고침 시 로그인이 유지되지 않는 버그가 발생합니다!(쿠키 존재O)
제로초님의 백엔드 NODE_ENV가 production이 아닐 수 있다는 말씀에서 힌트를 얻어 버그를 해결하였습니다!백엔드 package.json의 start 스크립트에 cross-env NODE_ENV=production코드를 적지 않아 새로 고침 시 로그인이 풀리는 문제가 발생했던 것입니다!긴 질문 글임에도 끝까지 도와주셔서 감사합니다 제로초님! 행복한 설날 보내세요!// 수정 전 백엔드 start 스크립트 "start": "pm2 start app.js" // 수정 후 백엔드 start 스크립트 "start": "cross-env NODE_ENV=production pm2 start app.js"
- 1
- 3
- 2K
질문&답변
2024.02.07
백엔드 MySQL에서 Drop Database 후 DB 생성 시 table이 생성되지 않습니다!
이미지 모델과 사용자 모델의 collate을 utf8mb4_general_ci로 변경하고,sudo git pull 후 우분투 백엔드 경로에서 npx sequelize db:create 명령어 입력 후,백엔드 start 스크립트인 node app을 실행하여 테이블 생성에 성공하였습니다!(CREATE DATABASE react-nodebird;는 하지 않았습니다.)백엔드 start 스크립트를 pm2 start app.js로 되돌린 후테이블이 생성에 성공했으므로 react-nodebird DB의 Table이 리셋되지 않도록back/app.js의 force를 false로 바꿨습니다.문제를 해결할 수 있게 도와주셔서 감사합니다 제로초님!npx sequelize db:create 명령어를 강의와 같이 루트 서버에서 진행하지 않고우분투 백엔드 서버에서 진행하라고 말씀하신 이유가 있을까요?문제는 해결했지만 똑같은 실수를 저지르지 않도록 확실하게 기억하고 싶어서요!! (사진)(사진)(사진)
- 0
- 4
- 692
질문&답변
2024.02.05
백엔드 MySQL에서 Drop Database 후 DB 생성 시 table이 생성되지 않습니다!
질문 글이 길어진 것 같아 짧게 다시 정리하자면 아래와 같습니다!본문에 말씀드린 것과 같이 image 모델의 코드를 수정하였습니다.수정 후 sudo git pull 과정을 거쳤습니다.(back폴더 image.js 모델에서 이미지 경로 소스 문자열이 짧아서 늘렸습니다.)모델에 변경 사항이 있다면 MySQL 서버에서 DB를 지우고다시 생성해야 해야만 변경 사항이 적용된다고 생각하였습니다!그래서 백엔드 root에서 MySQL에 접속하여 Drop DB 후에 Create DB를 진행한 것입니다.DB를 지운 후 다시 생성하는 방법은 제로초님의 NodeBird 강의 중섹션6 프론트 서버 배포하기 14:00 부분과 똑같이 진행하였습니다.(혹시 몰라서 FLUSH PRIVILEGES; 명령어도 추가로 해주었습니다.)저는 DB만 지웠다가 생성하였으며, Table은 지우지 않았습니다.(강의에서는 DB를 지워도 Table이 지워지진 않았지만저의 경우 DB를 지우면서 Table도 같이 지워진 것은 아닐까 추측해봅니다.)react-nodebird DB를 재생성한 다음,use react-nodebird로 해당 DB를 선택한 후show tables 명령어로 table을 확인하였으나 생성되지 않았습니다.그래서 table 생성에 대한 질문 글을 올렸고,이에 제로초님 께서는 아래와 같이 table을 생성하는 방법을 제시해주셨습니다.1. back/app.js 에서 sequelize의 force: true 소스 코드를 추가하기2. 백엔드 서버 재시작 후 바로 sudo npx pm2 monit 하기그러나 1번, 2번 방법을 실행했음에도 여전히react-nodebird 테이블은 생성되지 않았습니다.MySQL에 접속하여 react-nodebird DB의 show tables을 확인했을 때는table이 비어있었습니다. (Empty set (0.00 sec))위와 같은 방법으로도 table이 생성되지 않는다면어떤 방법을 사용해야 하는지 질문 드린 것입니다!
- 0
- 4
- 692
질문&답변
2024.02.05
백엔드 MySQL에서 Drop Database 후 DB 생성 시 table이 생성되지 않습니다!
제로초님의 답변지금 app.js 소스 코드에 force: true 되어있는 게 맞나요?sequelize.sync({ force: true }) 되어있어야 테이블을 생성합니다.생성 후에는 force: false로 바꿔주어야 테이블이 리셋되지 않습니다.답변 감사합니다!노드버드 섹션6 강의까지는 sequelize.sync({ force: true }) 코드가 없었으나제로초님의 방안을 통해 force를 true로 설정하고, 추가로 alter도 true로 설정하였습니다.sudo git pull 작업은 꼭 진행하였습니다.이럼에도 table이 안 생겨서 다시 sudo npx pm2 kill 후sudo npm start → sudo npx pm2 reload all 하고,react-nodebird DB를 Drop 한 후 Create 해보아도 table이 안 생깁니다...비슷한 문제가 생기신 다른 수강생 분은 back/config/config.js의 database 부분을'react-nodebird' 로 바꾸니 해결이 되셨습니다.그러나 저의 경우 원래부터 database: 'react-nodebird' 로 되어있었습니다.강의 진행에서 한 번도 나지 않던 문제라 당황스럽습니다...혹시 table을 생성하는 다른 방법을 사용하는 것이 좋을까요?긴 글 읽어주셔서 감사합니다...참고한 제로초님의 노드버드 ch7 깃허브 링크여기는 sequelize.sync({ force: true }) 코드가 없습니다.https://github.com/ZeroCho/react-nodebird/blob/master/ch7/back/app.js참고한 force: true 관련 글위 글을 참고하여 force true을 설정하였습니다.table 생성을 성공한다면 false로 바꿀 예정입니다.https://noonestaysthesame.tistory.com/entry/Nodejs-Sequelize// 서버 실행 시 데이터베이스 시퀄라이즈 연결(수정 전) db.sequelize.sync() .then(() => { console.log('db 연결 성공'); }) .catch(console.error); // 서버 실행 시 데이터베이스 시퀄라이즈 연결(수정 후) /* force: true는 테이블이 존재하지 않을 경우 테이블을 생성, 존재할 경우 테이블을 삭제하기 */ db.sequelize.sync({ force: true }) .then(() => { console.log('db 연결 성공'); }) .catch(console.error);++++(사진)서버 배포 후 MySQL 워크벤치에 접속 되지 않습니다. 원래 그런 건가요?MySQL 윈도우 서비스를 실행한 상태든 중지한 상태든root localhost:3306 커넥션 클릭 시 Schemas 부분에 No connection established 이 뜹니다.혹시 본문 문제와 연관이 있을까 추가로 작성해봅니다!
- 0
- 4
- 692
질문&답변
2024.02.01
Amazon S3에서 파일 업로드 시 "Unzipped size must be smaller than 262144000 bytes" 에러가 발생합니다!
답글 남겨주셔서 감사합니다!ls -al로 용량을 확인하니 aws-upload.zip, awscliv2.zip두 zip의 용량이 비정상적으로 큰 걸 확인하였습니다!두 ZIP 용량이 너무 커서 Amazon S3에서 파일 업로드 시"Unzipped size must be smaller than 262144000 bytes" 문제가 발생하는 것 같습니다!본문 문제를 해결하기 위해 아래 2번 방법을 사용하였으나 해결되지 않았습니다!명령어도 본 강의와 똑같이 진행하였으며, 설치한 라이브러리도 많지 않습니다..혹시 두 zip의 용량을 줄이는 방법을 아신다면 공유 부탁 드립니다!현재 람다 폴더 내 파일 상태(사진)1. Amazon S3에서 파일 업로드 시 "Unzipped size must be smaller than 262144000 bytes"문제가 처음 발생한 상태에서 ls -al로 용량 확인 (아직 아래 2번 방법을 사용하지 않았습니다.)(사진)2. Amazon S3 버킷 react-nodebird-darang에 있던 기존 aws-upload.zip를 삭제하고백엔드 우분투 람다 경로에서 두 zip 파일을 확실히 지운 후 다시 압축을 진행하였습니다.sudo rm -rf aws-upload.zipsudo rm -rf awscliv2.zip(사진)aws s3 cp "aws-upload.zip" s3://react-nodebird-darang위 명령어로 다시 s3로 zip 파일을 보냈고, aws-upload.zip 이s3에 제대로 업로드 되었음을 확인하였습니다.혹시 몰라서 image-resize 함수도 삭제했다가 다시 만들었습니다!
- 0
- 2
- 611