linux 썸네일형 리스트형 Linux - CentOS 7/8 & Ubuntu 18/20 서버 튜닝: 성능과 안정성을 높이는 방법 리눅스 서버를 처음 설치한 뒤 안정성과 성능을 높이기 위해 꼭 필요한 OS 튜닝 작업을 정리했습니다.이 가이드는 CentOS 7/8과 Ubuntu 18/20에서 공통적으로 적용할 수 있는 설정입니다.1. OS 기본 설정1.1 패키지 업데이트* CentOSyum update -y * Ubuntuapt update && apt upgrade -y 1.2 타임존 설정 및 시간 동기화서버 시간을 정확히 설정하여 로그 관리 및 작업 스케줄에 오류가 없도록 합니다.* 타임존 설정timedatectl set-timezone Asia/Seoul* 시간 동기화- Chrony 사용yum install -y chrony # CentOSapt install -y chrony # Ubuntusystemctl enable --n.. 더보기 Linux - OpenSSL 소스 설치 가이드: SSH 및 NTP 데몬 문제 해결과 올바른 설정 OpenSSL을 소스 설치하거나 업데이트할 때, 설정이 꼬여서 SSH나 NTP 같은 중요 서비스가 실행되지 않을 수 있습니다.특히, OpenSSL은 시스템의 다른 패키지들과 많이 의존적이기 때문에 설치 시 경로 설정과 옵션을 신중히 설정해야 합니다.이번 글에서는 OpenSSL 설치 과정에서 발생한 문제 해결하는 방법을 정리합니다.1. 문제 상황: OpenSSL 설치 후 SSH와 NTP 데몬 오류OpenSSL을 소스 설치한 후, SSH나 NTP 데몬을 재시작할 때 아래와 같은 오류 메시지가 발생할 수 있습니다.# SSH 데몬 재시작 시 오류[root@localhost]# systemctl restart sshdStopping sshd: [ OK ]Starting sshd: [FAILED]OpenSSL ve.. 더보기 Linux - Turnserver 프로세스 및 트래픽 문제 자동화 Turnserver를 운영하다 보면 프로세스가 비정상적으로 종료되거나 트래픽 처리에 문제가 생길 수 있습니다.이를 자동으로 탐지하고 대응하는 스크립트 작성법과 함께, 효율적인 로그 관리 방법까지 정리해 보겠습니다.1. 준비 작업iftop 설치본 스크립트는 iftop을 사용해 트래픽을 모니터링합니다. 따라서, 먼저 iftop을 설치해야 합니다.Ubuntu/Debiansudo apt updatesudo apt install iftopCentOS/RHELsudo yum install epel-releasesudo yum install iftop설치가 완료되면 다음 명령으로 iftop이 정상적으로 작동하는지 확인해 보세요.sudo iftop -h2. Turnserver 프로세스 확인 및 재시작 스크립트 #!/b.. 더보기 Linux - CentOS 8 네트워크 설정(NetworkManager / nmcli) CentOS 7까지는 ifcfg-* 파일을 통해 네트워크 설정을 관리하고, systemctl restart network 명령어로 네트워크를 재시작했었습니다. 하지만 CentOS 8에서는 NetworkManager가 네트워크 관리를 하다 보니 설정 방식이 조금 달라졌습니다.이번 포스트에서는 NetworkManager와 ifcfg, nmcli, nmtui, ifdown/ifup 등 명령어의 활용법을 소개합니다. 기존 네트워크설정(IP / DNS 설정) 이 궁금하다면? Linux - 네트워크설정(IP / DNS 설정)서버로 쓸 OS는 보통 동적 IP 할당인 DHCP를 사용하지 않고 정적 IP를 사용합니다. 리눅스에서 네트워크 설정에 관련된 파일들을 수정하여 네트워크를 설정하는 방법을 정리해 봅니다. ※ DH.. 더보기 Linux - Crontab에서 Command Not Found 오류 해결 리눅스에서 crontab을 통해 주기적으로 명령어를 실행하려 할 때, 특정 명령어를 찾지 못해 "command not found" 오류가 발생하는 경우가 있습니다. 이는 crontab의 기본 PATH 설정이 제한적이기 때문인데요, 기본적으로 /usr/bin 등 제한된 경로만 인식하기 때문에 다른 경로에 설치된 프로그램이나 도구는 찾지 못하는 경우가 발생합니다. 이 글에서는 Python, Node.js 등 다양한 도구를 crontab에서 원활히 실행하기 위한 PATH 설정 방법을 알아보겠습니다. Crontab을 모른다면? Linux - Crontab (크론탭)Crontab 1. cron이란 : 일정시간마다 프로그램을 자동으로 실행시키는 데몬입니다. (Windows 의 작업스케줄러와 유사함) 2. crond.. 더보기 Linux - 스크립트 명령어를 등록하고 버전 관리하는 법 리눅스 환경에서 바이너리 파일이나 스크립트를 명령어로 등록하면, 터미널에서 해당 명령어를 바로 입력하여 실행할 수 있습니다. 특히 직접 설치한 패키지나, 여러 버전을 동시에 관리해야 하는 환경에서는 효과적으로 사용 가능합니다. 1. 환경 변수 PATH에 경로 추가하기일반적으로 터미널에 입력된 명령어는 PATH 환경 변수에 지정된 경로에서 찾습니다. 기본적으로 /usr/bin과 같은 경로가 PATH에 포함되어 있어, 여기에 등록된 명령어는 별도의 경로 없이도 실행됩니다.바이너리나 스크립트가 위치한 디렉토리를 PATH에 추가하면, 해당 명령어로 바로 실행 가능합니다.export PATH=$PATH:/your/custom/path주의 사항: 여러 디렉토리를 추가하면 PATH가 복잡해져 유지 관리가 어려워지므로.. 더보기 Linux - 프로세스 자동 재시작 설정 스크립트 서버에서 프로세스가 비정상적으로 동작하거나 중단되는 상황에 자동으로 재시작하는 방법이 필요했습니다.systemd와 스크립트를 조합하여 서비스가 중단되었을 때 자동으로 재시작되도록 설정할 수 있습니다.스크립트 구조kill_my_service.sh: 특정 프로세스를 강제로 종료하는 역할을 합니다.check_my_service.sh: 주기적으로 프로세스 상태를 점검하고, 필요시 프로세스를 재시작합니다. 이 스크립트는 crontab을 이용해 매 분마다 실행됩니다.kill_my_service.sh#!/bin/bashfunction killProcess(){ while : do if [ `ps -ef | grep $1 | grep -v grep | wc -l` -eq 0 ] ; .. 더보기 Linux - 일반계정으로 1024이하 포트 사용방법 (setcap / getcap) 리눅스에서 1024 이하의 포트는 일반적으로 root 권한이 있어야만 사용할 수 있습니다.하지만 보안 이유로 인해 일반 사용자 계정으로 웹 서버(Apache 또는 Tomcat)를 실행해야 하는 경우가 많습니다.이때 capabilities 기능을 사용하여 일반 사용자도 root 권한 없이 1024 이하의 포트를 사용할 수 있습니다.Capabilities란?root 계정은 모든 권한을 갖고 있지만 일반 사용자 계정에게 root 권한을 부여하지 않으면서 특정 작업을 허용하려면 capabilities 기능을 사용할 수 있습니다. root 권한을 나누어 특정 작업(예: 포트 바인딩)을 수행할 수 있게 해 줍니다.특히 cap_net_bind_service라는 권한을 사용하면 일반 사용자도 1024 이하의 포트(“p.. 더보기 이전 1 2 3 4 ··· 7 다음