{해결됨}. 새로운 오류
Heroku 로그 오류:
으아악정보/배경:
React js 프론트엔드(현재 Netlifty에서 호스팅됨) Express 및 MYSQL2(Heroku에서 호스팅)를 사용하는 Javascript 노드 백엔드
목표: Neflifty 프론트엔드 POST 요청을 Heroku 백엔드와 연결하고 POST 페이로드 데이터를 가져와 MYSQL 테이블에 삽입합니다.
업데이트 날짜: 2021년 9월 24일
제안된 모든 작업을 수행했습니다. ClearDB를 사용하여 새 데이터베이스를 만들었습니다. 이를 추가하고 mysql Workbench에서 연결을 테스트하십시오. 필요한 테이블이 생성됩니다. 새 데이터베이스에 대한 연결을 생성하기 위한 백엔드 코드가 업데이트되었습니다. Heroko 변수를 확인하고 새 데이터베이스에 올바르게 반영되었는지 확인하세요. 이제 인증 문제가 발생했습니다. {해결됨}
새로 수정된 백엔드 코드:
질문: 이것이 워크벤치에서 로컬로 연결되는 경우 변수로 추가하면 Heroku가 연결되지 않는 이유는 무엇입니까? {답변}
새 질문: 환경을 사용해야 하는데 왜 포트 8000을 사용하려고 합니까? 시간이 초과되는 이유는 무엇입니까?
이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.
P粉6100288412023-12-14 09:46:11
Heroku에서 실행 중인 데이터베이스 인스턴스가 없기 때문에 데이터베이스에 연결할 수 없습니다. Heroku CLI를 사용하여 코드를 푸시하면 Heroku가 NodeJS 애플리케이션을 설정하지만 이것이 데이터베이스도 설정한다는 의미는 아닙니다.
Heroku의 인터페이스나 CLI를 통해 애플리케이션에 데이터베이스를 추가할 수 있습니다. CLI에서(ClearDB를 설정할 예정이지만 모든 MySQL 데이터베이스 플러그인이 작동함):
으아악완료되면 새 데이터베이스 URL(localhost 아님)을 원합니다.
으아악마지막 명령의 출력은 다음과 같습니다.
으아악이제 새로운 정보로 코드를 약간 수정해야 합니다. 버전 제어에서 데이터베이스 자격 증명을 노출하고 싶지 않으므로 환경 변수를 사용하여 노출할 수 있습니다.
으아악또한 실행 중인 Heroku 애플리케이션에 대한 환경 변수를 설정해야 합니다.
으아악이제 Heroku에서 실행되는 데이터베이스 인스턴스와 데이터베이스에 연결할 수 있는 NodeJS 애플리케이션 인스턴스가 생겼습니다.
더 자세한 내용을 보려면 다음 링크를 확인하세요.
https:// /lo-victoria.com/build-a-mysql-nodejs-crud-app-4-deploying-to-heroku-finale
https://www.bezkoder.com/deployment-node-js-app-heroku-cleardb-mysql/
https://raddy.co.uk/blog/how-to-deploy-node-js-express-ejs-mysql-website-on-heroku-cleardb/(이 인터페이스는 Heroku를 사용함)< /p>