CentOS와 웹 서버 : Apache, Nginx, PHP-FPM 등의 설치 및 설정 방법

시작

이번에 다룰 주제는 CentOS와 웹 서버에 대한 것입니다. 웹 서버는 인터넷에서 자신의 웹 페이지를 제공하기 위한 기술입니다. CentOS는 리눅스 계열의 운영체제로, 무료로 사용할 수 있으며 안정적이고 보안적으로 강력한 특징을 가지고 있습니다. 이번 포스팅에서는 CentOS에 Apache, Nginx, PHP-FPM 등의 웹 서버를 설치하고 설정하는 방법에 대해서 알아보겠습니다. 이를 통해, 웹 서비스를 제공하는데 필요한 기본적인 웹 서버 구축 방법을 학습할 수 있을 것입니다. 또한, 웹 서버를 구축하는 과정에서 발생할 수 있는 문제들을 해결하는 방법에 대해서도 다루어 볼 것입니다. 웹 서버를 구축하는 것은 웹 서비스를 제공하기 위해 필수적인 작업입니다. 따라서, 이번 포스팅을 통해 웹 서버 구축에 대한 이해도를 높이고, 웹 서버를 구축하는데 필요한 기술을 습득해보시기 바랍니다.

 

CentOS와 웹 서버 : Apache, Nginx, PHP-FPM 등의 설치 및 설정 방법
-코드꼬마
(위 사진은 내용과 무관함 Pexels 제공 사진)

 

세부내용

1. CentOS 설치 방법

CentOS는 대중적인 리눅스 배포판 중 하나로, 서버 운영체제로 많이 사용됩니다. CentOS를 설치하는 방법은 간단합니다. 먼저 CentOS ISO 파일을 다운로드한 후, 부팅 가능한 USB 또는 DVD를 만들어야 합니다. 이후, 부팅 가능한 USB 또는 DVD를 사용하여 CentOS 설치를 시작하세요. 설치 과정에서는 언어, 시간대, 네트워크 설정 등을 설정할 수 있습니다. CentOS 설치가 완료되면, 서버 운영을 위한 다양한 소프트웨어를 설치하고 설정해야 합니다.

서버 운영을 위한 가장 기본적인 소프트웨어 중 하나는 웹 서버입니다. CentOS에서 웹 서버를 설치하기 위해서는 Apache, Nginx 등의 소프트웨어를 사용할 수 있습니다. Apache는 가장 오래된 웹 서버 중 하나로, 많은 인기를 얻고 있습니다. Nginx는 Apache와 비교하여 더욱 가벼운 웹 서버로, 빠른 속도와 안정성을 보장합니다.

또한, PHP-FPM은 PHP FastCGI Process Manager의 약자로, PHP를 실행하기 위한 프로세스 매니저입니다. PHP-FPM를 사용하면 웹 서버와 PHP 간의 통신을 효율적으로 처리할 수 있습니다. CentOS에서 Apache, Nginx, PHP-FPM 등을 설치하고 설정하는 방법은 각각 다르므로, 정확한 가이드를 참고하여 설치해야 합니다. 웹 서버와 PHP-FPM을 설치하고 설정하는 것은 복잡한 과정이지만, 한번 성공하면 안정적인 웹 서비스를 제공할 수 있습니다.

 

2. Apache 웹 서버 설치 및 설정

Apache 웹 서버는 CentOS에서 가장 많이 사용되는 웹 서버 중 하나입니다. 이번 글에서는 Apache 웹 서버를 설치하고 설정하는 방법을 알아보겠습니다.

먼저, Apache 웹 서버를 설치하기 위해서는 CentOS의 패키지 매니저인 yum을 사용합니다. 다음 명령어를 입력하여 Apache를 설치합니다.

sudo yum install httpd

설치가 완료되면, Apache 서비스를 시작합니다.

sudo systemctl start httpd

기본적으로 Apache는 80번 포트를 사용합니다. 따라서 방화벽 설정에서 80번 포트를 열어주어야 합니다.

sudo firewall-cmd –permanent –add-port=80/tcp

sudo firewall-cmd –reload

이제 Apache가 정상적으로 작동하는지 확인하기 위해, 브라우저에서 서버의 IP 주소를 입력하여 접속해봅니다. CentOS의 경우, 기본적으로 Apache 웰컴 페이지가 출력됩니다.

Apache 웹 서버의 설정 파일은 /etc/httpd/conf/httpd.conf에 있습니다. 이 파일을 수정하여 Apache의 동작 방식을 변경할 수 있습니다. 예를 들어, 가상 호스트를 추가하려면 다음과 같이 설정 파일을 수정합니다.

sudo vi /etc/httpd/conf/httpd.conf

DocumentRoot /var/www/example.com/public_html

ServerName example.com

ServerAlias www.example.com

위 설정을 추가하면, example.com 도메인으로 들어오는 요청은 /var/www/example.com/public_html 디렉토리에 있는 파일을 반환하도록 설정됩니다.

이처럼 Apache 웹 서버를 설치하고 설정하는 방법을 간단히 알아보았습니다. 다음 글에서는 Nginx 웹 서버와 PHP-FPM 설치 및 설정 방법에 대해 알아보겠습니다.

 

3. Nginx 웹 서버 설치 및 설정

Nginx는 Apache와 함께 가장 많이 사용되는 웹 서버 중 하나입니다. Nginx는 경량화된 구조와 높은 성능을 가지고 있으며, 대규모 트래픽 처리에 적합합니다. 이번 글에서는 CentOS에서 Nginx 웹 서버를 설치하고 설정하는 방법을 알아보겠습니다.

먼저, Nginx를 설치하기 위해서는 epel 레포지토리를 설치해야 합니다. 아래 명령어를 입력하여 epel 레포지토리를 설치합니다.

sudo yum install epel-release

그 다음에는 Nginx 패키지를 설치합니다.

sudo yum install nginx

설치가 완료되면, Nginx 서비스를 실행합니다.

sudo systemctl start nginx

Nginx 서비스를 자동으로 실행되도록 설정하려면 아래 명령어를 입력합니다.

sudo systemctl enable nginx

이제 Nginx 웹 서버를 설치했으니, 설정을 해보겠습니다. Nginx의 설정 파일은 /etc/nginx/nginx.conf에 있습니다. 이 파일을 열어서 수정합니다.

sudo vi /etc/nginx/nginx.conf

예를 들어, 기본 페이지를 변경하고 싶다면, server 블록 안에 있는 root 디렉토리 경로를 수정합니다.

server {

listen 80 default_server;

listen [::]:80 default_server;

server_name _;

root /usr/share/nginx/html; # 기존 root 경로

#root /var/www/html; # 변경된 root 경로

index index.html index.htm;

}

수정을 완료하면, Nginx 서비스를 다시 시작합니다.

sudo systemctl restart nginx

이제 브라우저에서 서버의 IP 주소나 도메인 이름을 입력하여 접속하면, 변경된 기본 페이지를 확인할 수 있습니다.

이처럼, CentOS에서 Nginx 웹 서버를 설치하고 설정하는 방법을 알아봤습니다. 다음 글에서는 PHP-FPM을 연동하여 Nginx에서 PHP를 실행하는 방법에 대해 알아보겠습니다.

 

4. PHP-FPM 설치 및 설정

PHP-FPM은 PHP FastCGI Process Manager의 약자로, Nginx와 함께 사용할 때 높은 성능을 발휘할 수 있는 웹 서버 소프트웨어입니다. CentOS에서 PHP-FPM을 설치하고 설정하는 방법은 다음과 같습니다.

먼저, 아래의 명령어를 입력해 PHP-FPM 패키지를 설치합니다.

sudo yum install php-fpm

설치가 완료되면, 설정 파일을 열어서 PHP-FPM의 옵션을 수정할 수 있습니다. 설정 파일은 일반적으로 /etc/php-fpm.conf에 위치하며, 편집기를 이용해 열 수 있습니다. 이때, 다음과 같은 옵션들을 수정할 수 있습니다.

– listen : PHP-FPM이 동작하는 소켓의 위치를 지정합니다.

– user/group : PHP-FPM이 동작하는 사용자와 그룹을 지정합니다.

– pm : PHP-FPM의 프로세스 관리 방식을 지정합니다.

설정 파일을 수정한 후에는, PHP-FPM을 시작해야 합니다. 아래의 명령어를 입력해 PHP-FPM을 시작할 수 있습니다.

sudo systemctl start php-fpm

또한, PHP-FPM이 부팅 시 자동으로 시작되도록 설정하기 위해서는 아래의 명령어를 입력해야 합니다.

sudo systemctl enable php-fpm

이렇게 PHP-FPM을 설치하고 설정하는 방법을 알아봤습니다. PHP-FPM은 Nginx와 함께 사용할 때 높은 성능을 발휘할 수 있으며, 웹 서버 운영에 필수적인 소프트웨어 중 하나입니다.

 

5. 웹 서버 보안 설정 방법

웹 서버 보안은 중요한 이슈 중 하나입니다. CentOS에서는 Apache나 Nginx와 같은 웹 서버를 설치하고 보안 설정을 해야 합니다. 이를 위해 SSL 인증서를 적용하고, 방화벽을 설정하며, 웹 애플리케이션 취약점 분석을 통해 보안 취약점을 찾아 수정해야 합니다. 또한, SELinux와 같은 보안 도구를 이용하여 서버 보안을 강화할 수 있습니다. 이렇게 보안 설정을 철저히 해야 웹 서버가 안전하게 운영될 수 있습니다. 따라서, CentOS에서 웹 서버를 운영하려면 보안 설정에 대한 이해와 전문적인 지식이 필요합니다.

 

CentOS와 웹 서버 : Apache, Nginx, PHP-FPM 등의 설치 및 설정 방법
2-코드꼬마
(위 사진은 내용과 무관함 Pexels 제공 사진)

 

마치며

이번 글에서는 CentOS와 웹 서버인 Apache, Nginx, PHP-FPM 등의 설치 및 설정 방법을 알아보았습니다. 이러한 웹 서버를 이용하면 효율적인 웹 호스팅 서비스를 구축할 수 있습니다. 또한, 이번 글에서 다룬 내용은 서버 관리자뿐만 아니라 웹 개발자들에게도 유용한 정보일 것입니다. 이제 CentOS와 웹 서버에 대한 이해도가 높아졌으니, 앞으로 더욱 안정적이고 효율적인 웹 호스팅 서비스를 제공할 수 있을 것입니다.

함께 보면 좋은 영상

WEB1 - 19. 웹서버 운영하기 (2023년 수정판. VSCode Live server)

WEB1 – 19. 웹서버 운영하기 (2023년 수정판. VSCode Live server)