리눅스

27. 리눅스에서 Apache와 Nginx 설정 방법

안녕하세요.

하얀 도하지 남편입니다.

오늘은 리눅스에서 Apache와 Nginx 설정 방법에 대해 공부해 보도록 하겠습니다.


1. 개요

웹 서버는 인터넷 환경에서 웹사이트를 제공하는 핵심 요소입니다. 리눅스에서는 Apache와 Nginx가 가장 널리 사용되는 웹 서버입니다. 이 글에서는 두 웹 서버의 설정 방법과 최적화 전략을 살펴보겠습니다.

2. Apache 웹 서버 설정

2.1 Apache 설치

Apache는 대부분의 리눅스 배포판에서 기본적으로 제공됩니다. Ubuntu에서는 다음 명령어로 설치할 수 있습니다.

sudo apt update
sudo apt install apache2

CentOS에서는 다음과 같이 설치할 수 있습니다.

sudo yum install httpd

2.2 Apache 기본 설정 파일

Apache의 주요 설정 파일은 /etc/apache2/apache2.conf (Ubuntu) 또는 /etc/httpd/conf/httpd.conf (CentOS)입니다. 기본적으로 다음 설정이 포함되어 있습니다.

<Directory /var/www/>
    AllowOverride None
    Require all granted
</Directory>

2.3 가상 호스트 설정

여러 도메인을 운영하려면 가상 호스트(Virtual Host)를 설정해야 합니다. /etc/apache2/sites-available/yourdomain.conf 파일을 생성하고 다음 내용을 추가합니다.

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/yourdomain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

이후 설정을 활성화하고 Apache를 재시작합니다.

sudo a2ensite yourdomain.conf
sudo systemctl restart apache2

3. Nginx 웹 서버 설정

3.1 Nginx 설치

Nginx는 가볍고 빠른 성능을 제공하는 웹 서버입니다. Ubuntu에서는 다음 명령어로 설치할 수 있습니다.

sudo apt update
sudo apt install nginx

CentOS에서는 다음과 같이 설치합니다.

sudo yum install nginx

3.2 Nginx 기본 설정 파일

Nginx의 주요 설정 파일은 /etc/nginx/nginx.conf입니다. 기본적인 서버 블록 설정은 다음과 같습니다.

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

3.3 설정 적용 및 테스트

설정을 저장한 후 Nginx 구성을 테스트합니다.

sudo nginx -t

문제가 없다면 Nginx를 재시작합니다.

sudo systemctl restart nginx

4. 성능 최적화

4.1 KeepAlive 설정

Apache의 KeepAlive 옵션을 활성화하면 여러 요청을 하나의 연결로 유지할 수 있어 성능이 향상됩니다. /etc/apache2/apache2.conf 파일에서 다음 설정을 확인합니다.

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Nginx에서는 keepalive_timeout을 설정합니다.

keepalive_timeout 65;

4.2 캐싱 및 압축

Apache에서는 mod_deflate를 활성화하고, Nginx에서는 gzip 설정을 추가하면 성능을 최적화할 수 있습니다.

Apache 설정:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
</IfModule>

Nginx 설정:

gzip on;
gzip_types text/css application/javascript;

4.3 SSL 보안 적용

웹사이트의 보안을 위해 SSL을 적용해야 합니다. Let’s Encrypt를 이용하면 무료 SSL 인증서를 발급받을 수 있습니다.

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Nginx에서는 다음과 같이 설정합니다.

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Apache와 Nginx는 각각 장점이 있는 강력한 웹 서버입니다. Apache는 유연한 설정이 강점이며, Nginx는 가볍고 빠른 성능을 제공합니다. 프로젝트의 특성에 따라 적절한 웹 서버를 선택하고 최적화하는 방법을 통해 서버를 구성해 보세요.

 

love2ans

Recent Posts

윈도우에서 시스템 로그를 분석하는 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 시스템 로그 분석 방법에 대해서 알아 보도록 하겠습니다. 윈도우 시스템…

2개월 ago

윈도우에서 게임 최적화 설정하는 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 게임 최적화 설정하는 방법에 대해서 알아보려고합니다. 1. 윈도우 최적화…

2개월 ago

윈도우 블루스크린 오류 해결법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 블루스크린 오류 해결법에 대해서 공부해 보도록 하겠습니다. 블루스크린 오류란? 블루스크린…

2개월 ago

SSD vs HDD 차이점과 Windows 11 최적화 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 SSD와HDD의 차이점과 더블어 Windows 11 최적화 하는 방법에 대해 공부해 보도록…

2개월 ago

윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법에 대해 공부해보도록…

2개월 ago

윈도우의 역사

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우의 역사에 대해 공부해 볼까 합니다. 함께 알아볼까요? 1. 윈도우의…

2개월 ago