Introduction
Nginx는 서버에서 정적 및 동적 웹 애플리케이션 또는 서비스를 제공할 수 있게 해주는 오픈 소스 웹 서버 애플리케이션입니다. Nginx는 웹 서버, 로드 밸런서, 리버스 프록시 또는 HTTP 캐시로 작동하여 기존 응용 프로그램과 통합하거나 서버 IP 주소 또는 도메인을 사용하여 웹 애플리케이션을 제공합니다.
이 기사에서는 Nginx 웹 서버를 Ubuntu 24.04에 설치하고 예제 웹 애플리케이션을 서버에서 실행하기 ...
소개
WireGuard는 기기 간에 안전한 네트워크 연결을 만들기 위해 암호화 프로토콜을 활용하는 오픈 소스 모던 VPN (Virtual Private Network) 솔루션입니다. WireGuard는 효율적이며 IPsec와 같은 전통적인 VPN 프로토콜보다 향상된 신뢰성을 제공합니다. 본 안내서에서는 FreeBSD 14.0에 WireGuard VPN을 설치하고 서버에 안전한 네트워크 터널을 구성하는 방법을 설명합니다.
사전 요구 사...
소개
이 안내서는 Apache 웹 서버에서 PHP 7.x에서 PHP 8로 마이그레이션하는 방법을 안내합니다. 새로운 기능과 호환되지 않는 변경 사항에 대한 정보는 마이그레이션 안내서를 확인하세요.
사전 요구 사항
Apache가 실행 중인 Ubuntu Linux 20.04 서버가 완전히 업데이트된 상태여야 합니다.
진행하기 전에, 서버의 백업을 만드는 것을 권장합니다. 그 다음, 백업을 통해 새 인스턴스를 배포하...
Introduction
Elastic Stack, 또는 ELK로 알려진 Elastic Stack은 Elasticsearch, Logstash 및 Kibana라는 세 개의 오픈 소스 프로그램으로 구성됩니다. 이 스택은 대량의 로그 데이터를 검색, 분석 및 시각화하기 위해 최적화되었습니다. Elastic Stack의 주요 구성 요소는 다음과 같습니다:
Elasticsearch: 이것은 스택의 주요 구성 요소입니다. 수집한 데이터를 저장하...
소개
Rate limiting은 서버에서 자원 사용을 제한하는 방법입니다. 예를 들어, API (응용 프로그램 프로그래밍 인터페이스)를 실행하는 경우, 특정 시간 내에 사용자가 서버에 요청 할 수있는 횟수를 제한하는 캡을 설정할 수 있습니다. 웹 애플리케이션의 요청 속도를 제어하면 DoS (서비스 거부) 공격의 위험을 줄일 수 있습니다. 이를 통해 애플리케이션에 공정한 사용 정책을 적용할 수 있습니다. 대규모 웹 애플리케이션에서 특정 제약...
소개
Redis® 대기열은 선입선출 개념에 따라 작업의 일련의 집합을 만들고 처리하는 라이브러리입니다. 웹 응용 프로그램에서 대기열을 항상 사용하여 비즈니스 로직이 오랜 시간이 걸릴 경우 사용자가 응답을 기다리지 않도록 해야합니다. 예를 들어, 바쁜 온라인 상점에서 대기열과 백그라운드 워커를 사용하여 결제 및 주소 확인과 같은 복잡한 프로세스를 수행할 수 있습니다. 즉, 웹 응용 프로그램이 사용자의 인내심에 맞지 못하는 순서대로 프...
소개
웹 애플리케이션에서 사용자가 상호 작용하는 경우, 현재 사용자의 상태를 세션(session)이라고 합니다. 세션 데이터를 사용하면 사용자가 로그인한 동안의 신원을 계속 기억할 수 있습니다. 일반적인 웹 애플리케이션에서는 사용자가 로그인 폼에 사용자 이름과 비밀번호를 제출합니다. 그런 다음 애플리케이션은 데이터베이스에서 해당 자격 증명을 찾습니다. 일치하는 경우에만 사용자에게 웹 애플리케이션에 대한 액세스 권한을 부여합니다. 그렇지 않...
소개
Redis® (Remote Dictionary Server)는 빠른 오픈 소스 인메모리 키-값 데이터베이스로, 문자열, 해시, 리스트, 집합 등을 지원하여 성능 중심 시스템을 만들기에 이상적입니다.
Redis®는 데이터를 랜덤 액세스 메모리(RAM)에 저장하기 때문에 디스크에서 데이터에 액세스할 때 시간을 최소화합니다. 이 기능은 Redis®를 고가용성과 확장 가능한 응용 프로그램을 만드는 다목적 데이터 구...
소개
MySQL는 구조화된 쿼리 언어(SQL)에 기반한 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 사용자들이 다양한 응용 프로그램과 함께 데이터를 효율적으로 저장, 관리 및 검색할 수 있도록 합니다. 이 가이드에서는 Ubuntu 24.04에 MySQL을 설치하고 서버를 보안하여 데이터베이스 콘솔에 인증 된 액세스를 가능하게 하는 방법을 설명합니다.
전제 조건
시작하기 전에:
Vultr에서 Ubuntu 24...
이 포스트는 AWS RDS의 CA 인증서 만료가 1년 미만일 경우 아래와 같은 내용의 알림 메일을 받게 된 경우 CA 인증서 업데이트 방법에 대해 안내 합니다.
RDS planned lifecycle event
이 메시지를 받는 이유는 고객님의 AWS 계정에 AP-NORTHEAST-2 리전에 2024년 8월 22일에 만료되는 SSL/TLS 인증서를 사용하는 Amazon RDS 또는 Amazon Aurora 데이터베이스 인스턴스가 하...
오피스 365를 조직업무에 사용중 암호 만료정책으로 인해 주기적으로 암호를 변경해야하는 불편함이 있을경우, 보안 레벨은 낮아지더라도 괜찮다면 사용자의 암호가 만료되지 않도록 다음과 같이 조직설정을 변경 할 수 있다.
Microsoft 365 관리센터 ⇒ 설정 ⇒ 조직 설정 ⇒ 보안 및 개인 정보 ⇒ 암호 만료 정책 ⇒ 암호가 만료되지 않도록 설정
&n...
이 포스트는 MySQL InnoDB에서 Waiting for Table Metadata Lock으로 인해 데이터베이스(DB)의 성능저하가 발생할경우에 대한 대처 방법을 안내 합니다.
Metadata Lock이 발생하는 경우
DDL 문장 실행: 데이터베이스의 구조를 변경하는 DDL(Data Definition Language) 문장을 실행할 때 Metadata lock이 발생할 수 있습니다.
트랜잭션...
MySQL 데이터베이스와 테이블의 Character Set 및 Collation을 변경하는 작업은 다양한 이유로 필요할 수 있습니다. 예를 들어, 다국어 데이터를 다루는 웹 애플리케이션을 개발하고 있는 경우, 데이터의 언어 및 정렬 순서에 따라 Character Set 및 Collation을 설정해야 할 수 있습니다.
아래에서는 MySQL에서 데이터베이스와 테이블의 Character Set 및 Collation을 일괄 변경하는 단계를 안내...
Ubuntu와 Docker에 대한 개요
Ubuntu는 개발자와 서버 관리자를 위한 무료 운영 체제(OS) 중 하나로, Debian을 기반으로 한다. Ubuntu의 LTS(Long Term Support)는 안정적인 버전으로, 데스크톱 및 서버에서 사용할 수 있다.
Docker는 컨테이너 기반의 가상화 플랫폼으로, 애플리케이션을 독립적인 환경에서 실행할 수 있도록 해준다. 이를 통해 애플리케이션 개발 및 배포를 더욱 효율적으로 처리할 ...
우분투 20.04에서 PHP 7.4와 아파치2 웹서버를 설치하는 방법을 안내 합니다. 이 가이드에는 ioncube 모듈 및 php-mysql php-pear php-mbstring php-curl php-gd php-imagick php-xmlrpc php-geoip php-zip php-soap php-memcache php-redis 모듈을 포함합니다.
이 문서에 안내된 파일은 github 레포지토리에도 공개되어 있습니다. g...
Redis는 오픈소스(BSD 라이센스)기반 메모리 DB입니다. 이를 Memcached대안으로 사용하여 간단한 Key-Value 데이터를 저장 할 수 있습니다. 또한 NoSQL 데이터베이스로 사용하거나 Pub-Sub패턴을 사용하는 메세지 서버로도 사용 할 수 있습니다.
이 가이드는 우분투 20.04 또는 우분투 18.04에서 최신 Redis 버젼을 설치, 구성 및 설정방법을 안내 합니다.
Redis 설치
...
우분투 20에서는 기본 패키지로 MySQL 8.0이 제공됩니다. 이 튜토리얼에서는 우분투 20 혹은 그 이상의 버전에서 MySQL 5.7 패키지를 추가하는 방법에 대해 설명 합니다.
사전 요구 사항
우분투를 처음 설치 한 경우 또는 wget등의 패키지가 없는 경우를 대비 하여 다음과 같이 wget패키지를 설치 합니다.
$ sudo apt-get update -y
$ sudo apt-get install -y ...
TimeZone 변경
MySQL(MariaDB)에서 타임존은 set time_zone명령어로 변경 할 수 있다. 단 이 명령어는 현재 접속된 컨넥션에만 영향을 받으며 재 접속시에는 서버의 타임존을 따라간다.
MariaDB [(none)]> SET TIME_ZONE='+09:00';
Query OK, 0 rows affected (0.000 sec)
Asia/Seoul와 같이 타임존을...
이 문서는 윈도우 10 또는 윈도우 11에서 WSL2를 설치하는 방법은 안내 한다.
설치방법
파워쉘(PowerShell)을 관리자 권한으로 실행 후 하단 명령어 입력
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /fea...
vmmemm 프로세스는 WLS2기반 Docker사용시에 사용되는 프로세스로 상당히 많은 메모리를 잡아먹는 프로세스이기도 합니다. 이 덕분에 개인적으로도 16기가 메모리 머신은 사용하기가 어렵워 vmmemm의 프로세스 메모리 사용량을 제한하는 방법을 찾은뒤 이를 공유 해 봅니다.
문제의 원인
WLS2기반 Docker사용시 다음과 같은 원인으로 vmmem의 메모리 사용량이 증가되는것으로 보입니다.
리눅스에서...