웹사이트 검색

Nginx를 웹 서버로 구성하고 CentOS 8에서 Apache용 리버스 프록시를 구성하는 방법


이 페이지에서

  1. 전제 조건
  2. Apache 및 PHP 설치
  3. Apache 웹 서버 구성
  4. Nginx 웹 서버 설치
  5. Nginx를 Apache용 역방향 프록시로 구성\n
  6. 결론

아시다시피 Apache와 Nginx는 모두 무료 오픈 소스이며 강력한 전 세계 웹 서버입니다. Apache는 강력한 성능으로 유명하고 Nginx는 속도로 유명합니다. 둘 다 몇 가지 단점과 이점이 있습니다. Nginx는 PHP-FPM을 사용하여 PHP 파일을 로드하고 Apache는 자체적으로 PHP를 로드합니다. Apache는 웹 사이트의 동적 부분에 사용되는 반면 Nginx는 그래픽, CSS 및 js 파일과 같은 정적 파일을 제공합니다.

둘 다 단일 서버에서 사용하고 둘 다에서 이점을 얻는 것이 좋습니다. 이 튜토리얼에서는 Nginx를 웹 서버로 사용하고 CentOS 8에서 Apache 웹 서버용 리버스 프록시를 사용하는 방법을 보여줍니다.

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 서버 IP를 가리키는 도메인 이름.
  • 루트 암호는 서버에 구성됩니다.\n

아파치와 PHP 설치

먼저 Apache 웹 서버와 PHP를 서버에 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

dnf install httpd php php-cli -y

설치가 완료되면 Apache 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start httpd
systemctl enable httpd

Apache 웹 서버 구성

기본적으로 Apache 웹 서버는 포트 80에서 수신 대기합니다. 따라서 포트 8080에서 수신 대기하도록 Apache 웹 서버를 구성해야 합니다. Apache 기본 구성 파일을 편집하여 수행할 수 있습니다.

nano /etc/httpd/conf/httpd.conf

아래와 같이 게시물을 80에서 8080으로 변경합니다.

Listen 8080

파일을 저장하고 닫은 다음 Apache 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart httpd

다음으로 다음 명령을 사용하여 Apache 수신 포트를 확인합니다.

ss -antpl | grep httpd

다음과 같은 결과가 표시되어야 합니다.

LISTEN    0         128                      *:8080                   *:*        users:(("httpd",pid=1693,fd=4),("httpd",pid=1692,fd=4),("httpd",pid=1691,fd=4),("httpd",pid=1688,fd=4))

다음으로 Apache 웹 루트 디렉터리 내에 info.php 파일을 만듭니다.

nano /var/www/html/info.php

다음 줄을 추가합니다.

<?php phpinfo(); ?>

완료되면 파일을 저장하고 닫습니다.

그런 다음 웹 브라우저를 열고 URL http://your-server-ip:8080/info.php에 액세스합니다. 다음 페이지가 표시됩니다.

Nginx 웹 서버 설치

다음으로 서버에 Nginx 패키지를 설치해야 합니다. 다음 명령으로 설치할 수 있습니다.

dnf install nginx -y

Nginx가 설치되면 Nginx 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start nginx
systemctl enable nginx

Nginx를 Apache용 리버스 프록시로 구성

이제 Nginx를 역방향 프록시로 구성하여 포트 80에서 들어오는 모든 요청을 포트 8080에서 수신 대기 중인 Apache 웹 서버로 전달해야 합니다.

먼저 다음 명령을 사용하여 새 Nginx 가상 호스트 구성 파일을 만듭니다.

nano /etc/nginx/conf.d/proxy.conf

다음 줄을 추가합니다.

server {
    listen 80;
    server_name test.example.com;

    location ~ \.php$ {
        proxy_pass http://your-server-ip:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

완료되면 파일을 저장하고 닫습니다. 그런 다음 Nginx 웹 서버를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart nginx

이제 웹 브라우저를 열고 URL http://test.example.com/info.php에 액세스하십시오. 다음 페이지가 표시됩니다.

보시다시피 PHP는 Nginx 웹 서버에서 제공됩니다.

결론

위 가이드에서는 Nginx를 웹 서버로 구성하고 Apache용 리버스 프록시를 구성하는 방법을 배웠습니다. 이것이 귀하의 웹 사이트 성능을 높이는 데 도움이 되기를 바랍니다.