리눅스&서버23 우분투 서버 하나에서 여러 node js 프로젝트 실행시키기 우분투 서버 하나에서 여러 node js 프로젝트 실행시키는 법 (nginx 설정 파일) 여러개의 Node.js 프로젝트를 하나의 우분투 서버에서 운영하려면 Nginx를 리버스 프록시로 사용하면 됩니다. 각 도메인에 대해 별도의 Nginx 서버 블록 설정을 만들어주면 됩니다. 다음은 설정 방법입니다: 1. 먼저 각 Node.js 애플리케이션에 대해 포트를 다르게 설정합니다. 예를 들어, 프로젝트1은 3000번 포트, 프로젝트2는 3001번 포트에서 실행되도록 설정할 수 있습니다. 2. Nginx 설정 파일을 열어서, 각 도메인에 대한 서버 블록을 생성합니다. 설정 파일은 보통 /etc/nginx/sites-available/default에 위치해 있습니다. 프로젝트1에 대한 설정은 다음과 같습니다: se.. 2023. 11. 9. nginx rtmp를 이용해서 실시간 스트리밍 구현 예제(HLS 프로토콜 추가) nginx rtmp를 이용해서 실시간 스트리밍 구현 예제(HLS 프로토콜 추가) 지난 시간에 이어서 nginx의 rtmp 모듈을 이용해서 실제로 유저간 방송을 송출하고, 실시간으로 방송을 수신하는 예제를 구현해 보겠습니다. 실시간 스트리밍에 관련한 기본 개념들은 이 포스팅(NGINX에서 RTMP와 FFmpeg 라이브러리를 이용한 HLS 송신 예제)을 참고해주세요. 전부 읽는데 15분 정도 걸립니다. 준비사항은 nginx 서버와 nginx rtmp 모듈이 설치되어 있고, 설정이 되어 있어야 합니다. 이번에 구현할 시나리오는 아래와 같습니다. 시나리오 [1] 시나리오 rtmp -> hls 1-1.유저 A가 OBS 스튜디오를 이용해서 실시간 방송(rtmp 프로토콜 이용) 1-2.nginx-rtmp 서버가 받아.. 2022. 9. 16. NGINX에서 RTMP와 FFmpeg 라이브러리를 이용한 HLS 송신 예제 NGINX에서 RTMP와 FFmpeg 라이브러리를 이용한 HLS 송신 예제 제목이 좀 거창하네.. 쉽게 요약하면 "우분투에 있는 영상하나를 실시간으로 브라우저 player에서 볼 수 있도록하기" 입니다. 일단 구현할 예제는 하나입니다. 나의 우분투 서버에 있는 영상을 어떤 웹브라우저의 player에서 볼수 있게 하기! 말은 간단한데 여기에 필요한 사전 지식들이 너무 너무 많습니다. 일단 필요한 준비물을 작성해 보겠습니다. [1] ubuntu 18 [2] nginx [3] nginx-rtmp 모듈 [4] HLS - HTTP Live Streaming 프로토콜 [4] FFmpeg [5] 영상 [6] 영상을 실시간으로 받아서 재생할 player 기능이 있는 브라우저 위의 준비물에 대해서 간단하게 설명을 하고 .. 2022. 9. 15. 우분투 MQTT 서버구축과 기본 개념 우분투 MQTT 서버구축과 기본 개념 우분투로 MQTT 서버를 구축하는 법에 대해서 알아봅시다. 먼저 준비물은 우분투 16 or 18 버전이 필요합니다. MQTT 개념 MQTT는 HTTP, TCP/IP 같은 통신 프로토콜입니다. 프로토콜이란 규약, 약속이라는 뜻이 있습니다. HTTP를 예로들면, HTTP의 약속,규약은 클라이언트가 서버로 요청을 보내면, 서버는 응답값을 클라이언트로 보내고 연결을 끊는다는 약속이 있습니다. MQTT의 약속은 브로커를 통해서 메시지를 발행하고, 메시지를 구독한다는 약속이 있습니다. 브로커란 말그대로 대상과 대상을 연결해주는 역할을 합니다. 예를들어 우분투에서 작동하고 있는 MQTT 서버가 될 수 있죠. 그럼 발행의 주체와 구독의 주체는 누가 될까요? 스마트폰이 될 수도 있고.. 2022. 9. 14. 웹,데이터베이스 서버 트러블슈팅을 위한 쉘 스크립트 [4] 웹,데이터베이스 서버 트러블슈팅을 위한 쉘 스크립트 [4] 마운트하면 로컬이 아니고 umount 면 로컬 이다? 무슨말? Mount 디스크에 저장하고 (원격의 스토리지인가?) 로컬에 데이터 베이스 백업 파일 삭제 하는건가? 로컬에 있는 /mnt 폴더 검사하는 모니터링 쉘 원격 서버에 mount가 안되면 로컬에 쌓이기 때문…. 1시간에 1번이 아니라 백업이 끝난이후 딱 한번만. 스토리지 서버 트러블 슈팅 쉘 스크립트 Find 명령어 수정시간 기준으로 찾기 현재 시각으로 부터 10이내에 수정이 있었던 파일 찾기 오늘 부터 3일 이전에 수정된 파일 찾기 7일 이전에 만든 파일 찾아서 삭제하기 { } 의미는 앞의 명령어의 결과를 하나씩 for 문 처럼 { }에 넣어서 실행해준다. Find 를 끝내줄때는 \ ; .. 2022. 5. 7. 웹서버 및 mysql DB 백업 쉘스크립트 [3] 웹서버 및 mysql DB 백업 쉘스크립트 [3] ✅백업이란? 웹,데이터베이스 서버에 문제가 발생했을 때 복구를 할 수 있도록 백업을 준비해야한다. ✅tar : 압축하거나 압축을 푸는 툴 ✅mariabackup : 툴. 마리아 db 백업하기 위한 툴. 백업할때 테이블 락을 걸면 안된다. ✅온라인 백업(서비스를 운영하면서 백업) 실행 방법 백업중 인서트, 업데이트, 딜리트 된 데이터는 ib_logfile0 에 저장이 된다. 이 파일을 위의 백업된 파일에 넣는 작업. ✅DB 복구 하기 ✅백업 정책 세우기 ✅백업 스크립트가 해야할일 정리 ✅스크립트 작성 순서 Web 서버 Db 서버 📌[3-1] 웹서버 설정파일 및 웹서버 파일 백업 쉘스크립트 (참고로 storage 에 mount 하는 폴더 mmt 가 아니라 m.. 2022. 3. 23. 디스크 파티션 사용량 모니터링 스크립트[2] 디스크 파티션 사용량 모니터링 스크립트[2] ✅작업내용 ✅디스크 용량 확인 명령어 df -h ✅Use 칼럼의 데이터 구하기 df -h | awk '{print $5}' ✅Use 칼럼의 데이터에서 % 제외하기 (%를 기준으로 자르고 첫번째 줄 print) df -h | awk '{print $5}' | awk -F% '{print $1}' ✅Use 칼럼의 데이터에서 칼럼제목(영어) 제외 df -h | awk '{print $5}' | awk -F% '{print $1}' | grep -v "^[A-Z]" 위의 명령어는 쉘스크립트에서 사용하기에 복잡할 수 있다. ✅gsub 내장함수를 이용한 명령어 df -h | awk '{gsub("%",""); print$5 , $6}' | column -t ✅출력값을 변.. 2022. 3. 23. 서버 운영 필요한 지식 - 트러블 슈팅[1] - (텔레그램 봇 메시지 보내기) 서버 운영 필요한 지식 - 트러블 슈팅[1] - (텔레그램 봇 메시지 보내기) 📌[1] 기본 네트워크 구조 및 정보 서버의 확장 종류 스케일업 : 서버의 스팩을 업그레이드 스케일 아웃 : 서버의 숫자를 늘림 테스트할 서버 정보 #서버 운용중 트러블 관련 중요 포인트 1.트러블 슈팅 2.트러블 방지 3.복구(백업) #웹서버 구축 검증 및 확인 쉘 스크립트 ✅사용 중인 포트 확인 netstat -nltpu ✅시스템에 할당된 포트 확인 cat /etc/services ✅nginx(웹서버)의 로그가 쌓이는 경로 cd /var/log/nginx/ 파일생성하지 않고 명령어에서 실행 ✅서버 로드 높은지 체크 : load average 가 코어수보다 높으면 높다 uptime ✅코어수 스팩 체크 cat /proc/cpu.. 2022. 3. 23. ubuntu 에 pm2 와 ssl 인증서로 https 설정 ubuntu 에 pm2 와 ssl 인증서로 https 설정 pm2 설치 https://hellominchan.tistory.com/11 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pjt3591oo&logNo=221034901679 SSL 인증서 설치 참고 https://happist.com/573990/%EC%B5%9C%EC%8B%A0-lets-encrypt-ssl-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%9C%EA%B8%89-%EB%B0%A9%EB%B2%95-3%EA%B0%80%EC%A7%80-%EC%A0%95%EB%A6%AC https://velog.io/@pinot/Ubuntu-Nginx-%ED%99.. 2021. 10. 20. 이전 1 2 3 다음