
프로젝트를 하면서 HTML에서 HLS(M3U8) 형식의 영상을 재생하기 위해 다양한 방법을 시도했다.Safari에서는 기본적으로 HLS를 지원하지만 Chrome 및 다른 브라우저에서는 추가적인 설정이 필요했다. Chrome에서 m3u8 영상을 재생하려면 Video.js 또는 HLS.js와 같은 라이브러리를 활용하면 된다는 글을 보고 간단하게 해결할 수 있을 거라고 생각했지만 여러 문제를 마주하여 해결 과정을 정리해 보았다. 첫번째 시도 - video.js 라이브러리 사용유튜브 영상을 보면서 똑같이 실행해보았으나 Safari에서는 재생되었으나 Chrome에서는 "The media could not be loaded, either because the server or network failed or b..

mp4 영상으로 화면을 구성하는 작업을 하다가 mp4를 추가한 채로 커밋을 하니 아래와 같은 에러메시지가 발생했다. 원인이 에러는 Git 저장소에 너무 큰 파일(mp4 영상 파일)을 추가해서 용량 초과로 인해 발생한 것이다.* Git은 단일 푸시에 대해 최대 2GB 제한을 두고 있다.[GitHub Docs 푸시 제한 정보]https://docs.github.com/ko/get-started/using-git/troubleshooting-the-2-gb-push-limit 해결1. mp4 파일을 추적하지 않도록 .gitignore 파일에 추가# .gitignore에 mp4 파일 추가*.mp4 2. 최근 커밋 되돌리기이미 mp4 파일이 포함된 상태로 커밋을 했다면 최근 커밋을 취소한다.git res..

문제운영 서버에서 PM2를 실행하는데 .env.local 파일을 읽는다.확인해보니 포트 3000에서 LISTEN하지 않고 있었다. 그래서 npm run start를 수동으로 실행해야만 API가 정상적으로 작동하는 문제가 발생했다. pm2 설정이 필요한 분들은 아래 글을 참고해주세요!2024.08.26 - [💡/오류노트] - [Caddy] 3000포트가 열리지 않는 문제 해결(+PM2) 원인PM2에 환경 변수 설정 누락PM2를 설정할 때 NODE_ENV를 설정하지 않아 기본값인 development 환경으로 실행된 것이다.package.json의 start 스크립트에 NODE_ENV=production을 명시해놨다고 해도 PM2 실행할 때 설정하지 않았다면 적용되지 않는다. "scripts": ..

SSH로 서버에 연결해 작업하다가 Broken pipe가 뜨면서 연결이 강제로 끊겼다.Read from remote host ec2-3-38-246-40.ap-northeast-2.compute.amazonaws.com: Connection reset by peerConnection to ec2-3-38-246-40.ap-northeast-2.compute.amazonaws.com closed.client_loop: send disconnect: Broken pipe 서버는 일정 시간 동안 아무 작업도 하지 않으면 연결을 자동으로 끊도록 설정되어 있다. 리소스를 절약하고 보안을 강화하기 위함이다.해결 방법은 간단하다. 1. 터미널에서 SSH 설정 파일을 연다.nano ~/.ssh/config 2. ..

인스턴스를 재부팅하고 pm2 restart all 명령어를 실행했더니 [PM2][WARN] No process found 에러가 발생했다.현재 PM2에 등록된 프로세스가 없다는 것이다.재부팅하면서 PM2의 상태를 저장하지 않았거나 PM2가 자동으로 시작되지 않았기 때문이다. 해결1. PM2 상태 확인출력된 리스트가 비어 있다. PM2에 등록된 프로세스가 없음을 의미한다.$ pm2 list 2. PM2 복원저장된 프로세스 상태를 복원하기 위한 명령어를 실행한다.$ pm2 resurrect 3. PM2 상태 저장재부팅 후에도 PM2 프로세스를 자동으로 복원하기 위해 현재 프로세스를 저장한다.$ pm2 save 이 명령어는 현재 실행 중인 프로세스 상태를 /home/ubuntu/.pm2/dump.p..

상황ssh 접속하려고 하니 port 22 타임아웃 에러가 났다.전 날 ssh 접속 후 작업을 끄내고 exit 명령어를 치지 않아 logout되지 않은 상태에서 하루가 지났다.이렇게 서버가 과부하 상태일 때 종종 이 에러가 발생하는데 다행히도 해결방법은 간단하다. SSH란?SSH(Secure Shell)는 네트워크 환경에서 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 교환할 수 있는 보안 프로토콜이다.SSH 프로토콜의 표준 포트로 port 22이 지정되어 있기 때문에 SSH를 통해 서버에 접속하려면 port 22를 사용한다. 해결1. AWS 인스턴스 상태 검사 확인상태가 1/2 검사 통과로 바뀌어있다. 인스턴스 연결성 검사가 실패되었다. 2. 인스턴스 재부팅인스턴스를 재부팅해준다.⚠️주의⚠️ ..

EC2 환경에서 MySQL에 접속하려고 하니 아래와 같은 에러가 발생했다. 원인MySQL 서버가 특정 IP에서 너무 많은 연결을 감지해서 해당 IP 주소의 연결을 차단했다.반복적인 비정상 연결 시도를 방지하기 위해 MySQL의 보안이 작동한 것이다. 해결차단된 IP를 해제하려면 호스트 캐시를 비워야 한다.추가로 동일한 문제가 다시 발생하지 않도록 설정해보자. [MySQL 호스트 캐시 설정]https://dev.mysql.com/doc/refman/8.0/en/host-cache.html#host-cache-operation MySQL :: MySQL 8.0 Reference Manual :: 7.1.12.3 DNS Lookups and the Host Cache7.1.12.3 DNS Lookups..

서론로컬에서 API를 추가 구현하고 클라우드 서버에 pull 받아 기능을 테스트하는 도중 여러 가지 문제가 발생했다.Connection reset by port 22, port 22: Operation timed out, Connection closed by port 22, port 22: no matching host key type found 등 다양한 SSH 포트 접속 에러를 맞이하다가 새로운 인스턴스를 생성하여 볼륨 설정을 다시 해준 후 SSH로 접속할 수 있었다.그런데 평소에 Node.js 애플리케이션을 자동으로 실행해왔던 Caddy가 말썽이다.sudo systemctl restart caddy 명령어를 실행해도 3000포트가 열리지 않아 node app.js 명령어를 통해 수동으로 3000포트..

프로젝트 서버를 시작하는데 에러가 발생했다.에러 내용은 MySQL 서버에 연결이 거부되었다는 뜻이다. 이렇게 되면 mysql 서버 접속도 불가능할 것이다. 해결방법은 간단하다 : ) 1️⃣ DB_HOST 수정DB_CONNECTION=mysqlDB_HOST=127.0.0.1 //localhost를 127.0.0.1로 수정DB_USERNAME=rootDB_PASSWORD=my_passwordDB_DATABASE=db_nameDB_PORT=3306DB_LOGGING=TRUE 이미 DB_HOST가 127.0.0.1로 설정되어 있다면 2️⃣번을 시도해보자 2️⃣ MySQL 서버 시작먼저, MySQL 서버가 설치되어 있는지 확인한다.$ which mysqld/opt/homebrew/bin/mysqld명령..

프로젝트 초기에 MySQL을 연결하면서 똑같은 에러가 발생했었다.그 때 Password를 한번 더 입력해주면 해결이 되었었다.. 그리고 며칠 후 다시 마주한 에러[HY000][1130] null, message from server: "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server". 이번엔 지난번에 했던 방법으로 해결되지 않아 에러 내용을 자세히 살펴보게 되었다. MySQL 서버가 특정 IP 주소나 호스트로부터의 연결을 허용하지 않도록 설정되어 있기 때문에 발생한 에러이다. 기본적으로 서버는 보안상 로컬에서만 접속이 가능하도록 설정되어 있기 때문에 외부 IP 주소에서의 접속은 차단된다.이를 해결하기 위해 MySQL 사용자 계정..
- Total
- Today
- Yesterday