백엔드
-
[Network] Nagle알고리즘과 TCP_NODELAY백엔드/ETC 2024. 4. 8. 16:27
Nagle 알고리즘Nagle 알고리즘은 1984년에 발표된 RFC 896 "Congestion Control in IP/TCP Internetworks" 문서에서 제안된 것으로, Van Jacobson에 의해 소개되었다. 이 알고리즘의 주요 목적은 TCP 네트워크에서 소형 데이터 패킷을 최소화하여 헤더가 붙음으로 인한 오버헤드를 줄여 대역폭을 효율적으로 사용하는 것을 목적으로 제시되었다. Nagle 알고리즘의 동작 원리1. 작은 패킷의 조합작은 데이터 조각을 여러 개의 패킷으로 나누어 전송하는 것을 방지하기 위해 TCP 세그먼트에 작은 데이터를 모아서 조합한 후 한 번에 전송한다.2. ACK 지연ACK 패킷의 전송을 고의적으로 늦춰 전송함으로써, TCP 연결에서 발생하는 오버헤드를 감소시킨..
-
[Ubuntu, Docker] Docker 설치하기백엔드/Linux(Ubuntu) 2023. 12. 13. 15:01
Docker 도커(Docker)는 컨테이너 기반 가상화 플랫폼으로, 소프트웨어를 패키징하고 배포하는 데 사용한다. 컨테이너는 애플리케이션과 그 의존성을 컨테이너에 패키징하여 이식성이 뛰어나며 환경 간에 일관성 있는 실행을 제공한다. 도커는 이러한 컨테이너 기술을 쉽게 사용할 수 있도록 도와주는 도구와 플랫폼을 일컽는다. ※ 본 게시글은 Ubuntu 22.04 LTS 버전을 기준으로 작성되었습니다. 1. 이전 버전 및 비공식 버전 제거하기 Docker 엔진을 설치하기 전에 충돌하는 패키지를 모두 제거해야 한다. APT에서 비공식 Docker 패키지를 배포하는데, 이러한 패키지를 제거해야만 공식 버전의 Docker Engine을 설치할 수 있다. for pkg in docker.io docker-doc do..
-
[Ubuntu, Nginx] PHPMyAdmin 설치하기백엔드/Linux(Ubuntu) 2023. 12. 5. 10:16
PHPMyAdminphp로 작성된 PHPMyAdmin은 MySQL 데이터베이스를 관리하기 위한 웹 기반의 오픈 소스 관리도구이다. 웹 브라우저를 통해 MySQL 데이터베이스에 접속하여 데이터베이스를 관리, 조작하는 등 데이터베이스 안의 테이블을 만들고 수정하고, 데이터를 삽입, 수정, 삭제할 수 있다. ※ 본 게시글은 Ubuntu 22.04 LTS 버전을 기준으로 작성되었습니다.1. php 설치 및 연동하기https://syudal.tistory.com/entry/Ubuntu-Nginx-PHP-연동하기 [Ubuntu, Nginx] PHP 연동하기Nginx와 PHP를 연동하기 위해서는 FastCGI를 사용한다. Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다...
-
[Ubuntu, Cloudflared] Cloudflared로 Ngrok처럼 Tunneling하기백엔드/Linux(Ubuntu) 2023. 9. 18. 13:11
CloudflareCloudflare는 사이트를 운영할 때 WAF(Web Application Firewall; 웹 어플리케이션 방화벽), CDN(Content Delivery Network; Content Distribution Network), DDoS(Distributed Denial of Service attack; 분산 서비스 거부 공격), 서버의 원본 IP 숨기기 등의 중요한 기능을 무료로 제공한다. 이제는 Cloudflared(Cloudflare Zero Access, 구 Cloudflare Argo Tunnel)를 통해 Ngrok처럼 포트포워딩 없이 Private에서 개발하고 있는 환경을 Public으로 Tunneling할 수 있다. https://developers.cloudf..
-
[VPS, VPC] 아웃바운드 트래픽 요금 비교백엔드/ETC 2023. 5. 16. 09:46
VPS, VPCVPS(Virtual Private Server)와 VPC(Virtual Private Cloud)는 모두 컴퓨터 네트워크와 관련된 용어지만 각각 다른 개념을 가진다. VPS는 가상 개인 서버를 의미하며, 독립된 운영 체제 및 자원을 갖고 있는 가상 환경을 제공한다. 반면에 VPC는 가상 개인 클라우드를 의미하며, 클라우드 컴퓨팅 환경에서 가상 네트워크를 구축하여 사용자가 가상 리소스를 관리할 수 있는 환경을 제공한다. 본 포스팅에서는 둘을 크게 구분하지 않고 아웃바운드 트래픽 요금의 관점에서만 비교하여 서술하려고 한다. ※ 한국(서울) 리전 기준※ 추가 요금은 GB 당 최대 금액제공사기본 제공 트래픽GB당 추가 요금비고AWS100GB 0.126 USD..
-
[Ubuntu, OpenVPN] 사용자 추가/삭제하기백엔드/Linux(Ubuntu) 2023. 5. 10. 09:22
본 게시글은 아래의 링크를 통해 구축된 서버를 기준으로 서술하였다. https://syudal.tistory.com/entry/Ubuntu-OpenVPN-VPN-서버-구축하기 [Ubuntu, OpenVPN] VPN 서버 구축하기 OpenVPN을 통해 VPN 서버를 구축하고자 할 때, Readme 문서를 읽어가며 하는 것 보다 아래의 스크립트를 사용하면 이전에 OpenVPN을 사용해 본 적이 없더라도 1분 이내에 자신만의 VPN 서버를 설정할 수 syudal.tistory.com OpenVPN 서버가 설치되어 있는 상태에서 쉘 스크립트를 실행하면 다음과 같이 출력된다. bash openvpn-install.sh OpenVPN is already installed. Select an option: 1) Ad..
-
[Ubuntu, OpenVPN] VPN 서버 구축하기백엔드/Linux(Ubuntu) 2023. 3. 16. 19:34
OpenVPN 설치 스크립트 OpenVPN을 통해 VPN 서버를 구축하고자 할 때, Readme 문서를 읽어가며 하는 것 보다 아래의 스크립트를 사용하면 이전에 OpenVPN을 사용해 본 적이 없더라도 1분 이내에 자신만의 VPN 서버를 설정할 수 있다. 스크립트도 최대한 눈에 거슬리지 않고 직관적으로 사용할 수 있도록 설계되어 있다. https://github.com/Nyr/openvpn-install GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora OpenVPN road warrior installer for Ubuntu, Debi..