본문 바로가기

문제해결11

sh를 통해 로컬에서 Remote Ubuntu 실행하기 / pm2: command not found 해결 매번 deploy할 때마다 ssh ubuntu 인스턴스에 접속한 뒤 많은 명령어를 써야하는데 이 작업을 원클릭으로 만들수 없을까? 내가 원하는 것은 개발중인 프로젝트를 git에 push한 뒤, 로컬에서 deploy.bat을 실행하면 원격으로 서버를 deploy하는 것이다. 즉, ubuntu가 최신 프로젝트 코드를 git pull하고 .env파일을 로컬에서 copy해간 뒤 ubuntu가 스스로 pm2를 통해 프로젝트를 실행하는 것이다 이 많은 명령어를 하나의 집합으로 모은 뒤 원클릭으로 원격서버를 제어하는게 목표다. deploy.bat @echo off echo ===== Starting Deployment... ===== @REM ssh login, execute set KEY="C:\\Users\\Yu.. 2024. 1. 8.
[ERROR] Client does not support authentication protocol requested by server; consider upgrading MySQL client 해결 이는 보통 MySQL 클라이언트 버전과 서버 버전 간의 인증 프로토콜의 호환성 문제로 인해 발생한다 해결법 중 하나는 MySQL 클라이언트를 업그레이드하여 서버와의 인증 프로토콜을 지원하는 버전을 사용하게한다. MySQL에서 사용자의 인증 방법을 변경 ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 'username'@'localhost'는 변경하려는 사용자 mysql_native_password는 해당 사용자에 대해 MySQL 네이티브 패스워드 인증 방식을 사용하도록 설정 'password'는 사용자의 새로운 비밀번호이다. 예를 들어 이런식으로 변경한다 ALTER USER 'root'@'local.. 2024. 1. 8.
AWS EC2 인스턴스 ssh연결 실패 - Connection timed out 오류 EC2(ubuntu) 환경의 인스턴스에 react, express 프로젝트를 연결한 뒤 다음날 ssh에 접속하는데 Connection timed out 오류가 났습니다. 찾아보니 다음과 같은 이유로 발생할 수 있습니다. 보안 그룹 구성 오류: EC2 인스턴스의 보안 그룹이 SSH 연결을 허용하지 않는 경우 발생할 수 있습니다. 보안 그룹에 SSH(포트 22)에 대한 인바운드 규칙이 제대로 구성되어 있는지 확인해야 합니다. 네트워크 ACL 설정 오류: VPC의 네트워크 ACL(네트워크 액세스 제어 목록)가 SSH 트래픽을 허용하지 않는 경우에도 연결이 차단될 수 있습니다. 인스턴스 상태: 인스턴스가 정상적으로 실행 중이 아니거나 네트워크 연결에 문제가 있는 경우에도 SSH 연결이 실패할 수 있습니다. SS.. 2024. 1. 8.
[AWS] SyntaxError: Unexpected token '.'해결 / EC2에 nodejs 원하는 버전 설치하기 express, react 프로젝트를 aws ec2 인스턴스에 연결한 뒤 ssh를 통해 aws서버에 접속하여 npm start 하는 과정에 다음과 같은 오류를 만났다. 이는 사용 중인 Node.js 버전에서 널 병합 연산자(??)를 지원하지 않아 발생하는 것으로 널 병합 연산자는 Node.js 14 버전 이상에서 지원되기 떄문에 node를 업그레이드 해야했다. 하지만 아래와 같이 새로운 버전을 설치해도 여전히 12버전이고 또한 14는 더이상 지원하지 않는?다는 warning이 떴다 $ sudo apt install nodejs $ nodejs -v v12.22.9 그러다 다음과 같은 해결책으로 node를 upgrade할 수 있었다. 1. nvm 설치하기 $ curl -o- https://raw.githu.. 2024. 1. 5.
Cannot find module './index.module.scss' or its corresponding type declarations. 해결하기 sass를 추가하고 import하는 과정에서 위와 같은 에러가 생겼다 이 에러는 파일 경로를 찾지 못했거나 TypeScript에서 해당 모듈의 타입 선언을 찾지 못한 경우에 발생한다. CSS 모듈을 사용하는 경우, 해당 모듈에 대한 타입 선언을 정의해야한다 TypeScript에 모듈타입 선언 추가하기 .d.ts 파일을 src와 같은 위치에 만들고 해당 모듈의 타입선언을 정의하여 TypeScript가 모듈을 올바르게 이해할 수 있도록 한다. // index.module.d.ts // 모듈에서 내보낸 객체의 타입을 지정합니다. // 해당 모듈에 대한 타입 정보를 정의합니다. declare module '*.module.scss' { const classes: { [key: string]: string }; .. 2023. 12. 29.