Linux: Ubuntu22.04-Docker 설치
·
🐧Linux
패키지 업데이트 & 필수 패키지 설치sudo apt updatesudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-releaseDocker 공식 GPG 키 추가curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpgDocker 저장소 추가echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com..
Nginx: 마이크로캐싱(Micro-Caching) 적용하기
·
🐧Linux
마이크로 캐싱이란?마이크로 캐싱은 아주 짧은 TTL(보통 1~10초) 동안 응답을 캐시에 저장해 두고, 같은 요청이 들어오면 백엔드 대신 캐시에서 바로 응답하는 기법입니다. 짧은 TTL이라 실시간성은 유지하면서도, 순간 트래픽 폭주(새로고침, 인기 API 호출 등)를 효과적으로 흡수할 수 있습니다.필요한 이유사용자가 새로고침을 여러 번 하거나, 다수 유저가 동시에 동일 API를 호출하면 백엔드(DB, 애플리케이션)에 부하가 급증합니다.대부분의 API/페이지는 몇 초 단위로 변경되지 않기 때문에 짧게라도 캐시하면 부하를 크게 줄일 수 있습니다.⚙️ 동작원리첫 요청 → 캐시에 없음 → 백엔드 호출 → 응답 저장TTL(예: 3초) 안의 동일 요청 → 캐시에서 바로 응답TTL 만료 → 백엔드 재호출 후 캐시 갱..
Nginx: 하나의 서버에서 두 도메인 SSL 설정 방법
·
🐧Linux
하나의 서버에서 2개의 웹 프론트 서버가 서로 다른 도메인으로 SSL(443포트) 사용 가능하다. 단, 아래 조건을 만족해야 한다.✅ 전제 조건도메인이 서로 다름예: a.example.com, b.example.com각 도메인에 대해 유효한 SSL 인증서Let’s Encrypt 등에서 도메인 별 인증서 발급리버스 프록시(Web 서버)가 하나만 443 포트를 바인딩Nginx나 Apache 같은 리버스 프록시를 사용해 도메인에 따라 백엔드 서버로 트래픽 분기🧱 구조 예시[Client] |443 포트 요청 (도메인 A 또는 B) ↓[Nginx Reverse Proxy] (SSL 인증서 설정, 443 포트 점유) ├──> http://localhost:3001 (도메인 A용 웹 앱) └──> ..
SSL 파일형식 통합: Apache와 Nginx에서의 활용 방법
·
🐧Linux
apache와 nginx에서 쓰는 SSL 파일형식이 다름. 각각 만들어줘야 하지만, 통합해서 쓸 수 있는 방법이 있음.인증서와 체인 파일을 하나로 합친 파일을 생성하고, 이를 웹 서버에서 공통적으로 사용하도록 설정하면 됨.cat star_crt.pem ChainCA.crt RootCA.crt > fullchain.pemfullchain.pem 파일과 Private.key 파일을 웹 서버 설정apache 설정 ServerName example.com SSLEngine on SSLCertificateFile /path/to/fullchain.pem SSLCertificateKeyFile /path/to/Private.keynginx 설정server { listen 443 ssl; ..
Linux: Firewalld 방화벽 설정 가이드
·
🐧Linux
📌 Firewalld 상태 확인 및 관리sudo systemctl status firewalldactive (running)이면 동작 중inactive (dead)이면 정지 상태📌 Firewalld 시작 및 종료sudo systemctl start firewalld # 방화벽 시작sudo systemctl stop firewalld # 방화벽 정지sudo systemctl restart firewalld # 방화벽 재시작sudo systemctl enable firewalld # 부팅 시 자동 시작 설정sudo systemctl disable firewalld # 부팅 시 자동 시작 해제📌 방화벽 규칙 설정 및 관리sudo firewall-cmd --list-all현재 활성화된 방화벽 영..
Linux: Ubuntu22.04에서 수동 IP 설정하기
·
🐧Linux
📌 NetworkManager에서 고정 IP 설정nmcli device show 📌 NetworkManager를 사용하여 수동 IP 설정sudo nmcli connection modify ipv4.method manual ipv4.addresses ipv4.gateway ipv4.dns autoconnect yes📌 변경사항 적용sudo nmcli connection down enp5s0 && sudo nmcli connection up enp5s0sudo systemctl restart NetworkManager✅ 확인 사항☁️ IP 설정 확인ip a show ☁️ 라우팅 정보 확인ip route☁️ DNS 확인nmcli device show enp5s0 | grep DNS☁️ 인터넷 연결..
Linux: SSH 세션 끊김 문제 해결법
·
🐧Linux
📌 리눅스 SSH 세션 끊김 문제 해결법터미널 접속하고 나서, root 계정으로 vi /etc/profile 파일로 들어간 다음, TMOUT 부분이 있을 것이다.나는 rocky linux를 사용하고, 처음에는 900초로 설정되어있던 거를 7200초로 변경하였다.세션을 끊은 뒤, 다시 접속하면 영구적으로 적용이 완료될 것이다.
Linux: ubuntu22.04에서 NVIDIA 드라이버 자동 업데이트 비활성화 설정하는 법
·
🐧Linux
📌 ubuntu 22.04에서 Nvidia 드라이버 자동 업데이트 비활성화 설정하는 법✅ 자동 보안/패키지 업데이트unattended-upgrades 서비스 비활성화sudo systemctl disable --now unattended-upgradessudo apt remove unattended-upgrades또는 설정 파일 수정 (파일 내용: /etc/apt/apt.conf.d/20auto-upgrades)APT::Periodic::Update-Package-Lists "0";APT::Periodic::Unattended-Upgrade "0";✅ NVIDIA 드라이버 자동 업데이트 방지sudo apt-mark hold nvidia-driver-sudo apt-mark hold linux-image-..
Linux: CUDA 및 NVIDIA 드라이버를 RHEL 8에 설치하는 방법
·
🐧Linux
🚀 CUDA 및 NVIDIA 드라이버를 RHEL 8에 설치하는 방법이 포스트는 RHEL 8 기반 시스템에서 CUDA 개발 환경과 NVIDIA 드라이버를 수동으로 구축하는 과정을 정리한 것입니다. 로컬 패키지 저장소 설정부터 GPU 드라이버, CUDA 설치까지의 전체 흐름을 담았습니다.📁 1. 로컬 YUM 리포지터리 구성ISO 또는 USB를 통해 마운트된 RHEL 설치 미디어에서 리포지터리를 복사하고 설정합니다.mkdir /local_repocp -r /run/media/User/RHEL-8–4–0-/AppStream /local_repo/cp -r /run/media/User/RHEL-8–4–0-/BaseOS /local_repo/chown -R User:User /local_repo/AppStrea..
Linux: Firewalld 이용하기
·
🐧Linux
📌 Firewalld 상태 확인firewall-cmd --statefirewall-cmd --get-default-zone📌 기본 존 변경firewall-cmd --set-default-zone=block📌 현재 활성화된 존 확인firewall-cmd --list-all📌 서비스 허용firewall-cmd --zone=block --add-service=firewall-cmd --zone=block --add-service=http📌 block 존에서 IP와 포트 허용 설정firewall-cmd --zone=block --add-rich-rule='rule family="ipv4" source address="IP" port port="포트" protocol="tcp" accept'✅ 변경사항을..