전체 글 (910) 썸네일형 리스트형 [ HAProxy ] Caddy 사용하기 Caddy의 기본 사용법은 외부에서 들어오는 80/443 포트를 Caddy가 받고, Caddy가 내부 서비스로 전달하도록 구성하면 됩니다.예를 들어 FastAPI가 8000, ThingsBoard가 8080에서 실행되고 있다면 전체 구조는 다음과 같습니다.Internet │ ├── HTTP :80 └── HTTPS :443 │ ▼ Caddy │ ┌─────┴─────┐ ▼ ▼ FastAPI ThingsBoard :8000 :8080Caddy가 HTTPS 인증서 발급·갱신과 HTTP→HTTPS redirect를 자동으로 처리합니다. 공식 문서에서도 도메인이 Caddyf.. [ HAProxy ] Caddy, HAProxy, Nginx 조합 Caddy, HAProxy, Nginx 조합은 어떻게 구성하는 것이 좋을까?웹 서비스를 외부에 공개하려고 하면 보통 다음과 같은 요구사항이 생긴다.HTTPS 적용Let's Encrypt 인증서 발급 및 갱신Reverse Proxy여러 도메인 또는 서브도메인 라우팅Load BalancingHTTP뿐 아니라 MQTT, PostgreSQL 등의 TCP 서비스 Proxy이때 자주 등장하는 프로그램이 Caddy, Nginx, HAProxy다.세 프로그램 모두 일부 기능이 겹치기 때문에 처음에는 무엇을 선택해야 할지 애매할 수 있다. 특히 Caddy를 단순히 HTTPS 인증서를 관리하는 프로그램으로 생각하면 HAProxy나 Nginx와 어떻게 조합해야 하는지가 더 헷갈린다.이 글에서는 세 프로그램의 역할과 대표적인.. [ Minio ] 설치하는 방법 가장 편한 방법은 Ubuntu + Docker Compose로 구성하는 것입니다. 다만 2026년 현재 MinIO 배포 방식에 큰 변화가 있습니다. 기존 오픈소스 minio/minio 저장소는 2026년 4월 25일에 archived되어 더 이상 유지보수되지 않고, 현재 공식 제품은 MinIO AIStor Free/Enterprise입니다. AIStor Free는 단일 서버에서 무료 사용 가능하지만 라이선스 파일이 필요합니다. (GitHub)1. MinIO 서버 구조보통 이렇게 구성합니다.Application │ │ S3 API ▼MinIO :9000 │ └──── /data ├── bucket1 ├── bucket2 └── .... [ Linux ] 고정 ip 사용하기 Ubuntu 콘솔에서 IP 주소를 할당하는 방법은 임시 할당(재부팅 시 초기화)과 영구 할당(Netplan 설정) 두 가지 방식이 있습니다.1. 네트워크 인터페이스 이름 확인먼저 설정을 적용할 인터페이스 이름(예: eth0, enp3s0 등)을 확인합니다.Bash ip link show2. 임시 IP 할당 (ip 명령어)테스트나 즉각적인 연결이 필요할 때 사용하며, 재부팅 시 설정이 사라집니다.고정 IP 추가:Bash sudo ip addr add 192.168.1.100/24 dev enp3s0인터페이스 활성화:Bash sudo ip link set enp3s0 up기본 게이트웨이 추가:Bash sudo ip route add default via 192.168.1.1 dev enp3s03. 영구 IP.. [ Git ] Gitea 설치하고 사용하기 Gitea는 Go 언어로 작성된 가볍고 빠른 오픈소스 셀프 호스팅 Git 서비스입니다. 리소스 소모가 적어 가벼운 서버나 NAS, 로컬 환경에서도 Docker Compose를 이용해 손쉽게 구축할 수 있습니다.Gitea 설치 (Docker Compose 기준)1.작업 디렉토리 생성 및 docker-compose.yml 작성:PostgreSQL 데이터베이스 연동 구성.작업할 디렉토리를 생성하고 docker-compose.yml 파일을 작성합니다.YAML version: "3"networks: gitea: external: falseservices: server: image: gitea/gitea:latest container_name: gitea environment: -.. [ SSH ] ssh로 파일 시스템 연결하기 (vscode SSH 대비 가벼움) SSHFS란?SSHFS는 SSH/SFTP 연결을 이용해 원격 리눅스 폴더를 Windows 드라이브처럼 보이게 하는 방식입니다.예를 들어 Raspberry Pi의:/home/daewon/project를 Windows의:R:\로 연결합니다. 그러면 Windows VS Code에서 R:\를 열고 일반 폴더처럼 파일을 편집할 수 있습니다.Windows VS Code ↓ 파일 열기·저장R: 드라이브 ↓ SSH/SFTPRaspberry Pi /home/daewon/project파일을 저장하면 Raspberry Pi의 원본 파일이 바로 변경됩니다. 별도의 동기화나 업로드 과정은 없습니다. SSHFS는 대부분의 SSH 서버에 기본 제공되는 SFTP를 사용하므로, Raspberry Pi에는 일반적으로 SSH .. [ Docker ] ufw-docker 사용하기 ufw-docker는 Ubuntu 저장소에 있는 패키지가 아니라, GitHub에서 제공하는 스크립트를 설치해서 사용하는 방식입니다. (GitHub)1. 사전 확인UFW와 Docker가 설치되어 있어야 합니다.sudo ufw statusdocker version2. ufw-docker 다운로드sudo wget -O /usr/local/bin/ufw-docker \ https://github.com/chaifeng/ufw-docker/raw/master/ufw-dockersudo chmod +x /usr/local/bin/ufw-docker또는 프로젝트 페이지에서 최신 설치 방법을 확인할 수 있습니다.ufw-docker GitHub 프로젝트3. 설치다음 명령을 실행하면 됩니다.sudo ufw-docker .. [ Python ] ssh 창 닫혀도 백그라운에서 실행 유지하기 SSH 연결이 끊겨도 Python 프로그램을 계속 실행하려면 보통 nohup, tmux, 또는 systemd 서비스를 사용합니다.1. 가장 간단한 방법: nohupnohup python3 main.py > main.log 2>&1 &의미:nohup: SSH 종료 시 발생하는 종료 신호를 무시> main.log: 표준 출력을 로그 파일에 저장2>&1: 에러 출력도 같은 로그 파일에 저장&: 백그라운드 실행실행 PID도 저장하려면:nohup python3 main.py > main.log 2>&1 &echo $! > main.pid실행 여부 확인:ps -p "$(cat main.pid)" -f로그 실시간 확인:tail -f main.log종료:kill "$(cat main.pid)"가상환경을 사용하는 경우에.. 이전 1 2 3 4 ··· 114 다음