서버 설치 · 3 min read · Dec 23, 2025

CentOS 7에서 PHP-FPM 및 MariaDB와 함께 Lighttpd 설치하는 방법

Lighttpd는 속도에 민감한 환경을 위해 설계된 안전하고 빠르며 표준을 준수하는 웹 서버입니다. 이 튜토리얼에서는 PHP 지원( PHP-FPM을 통해) 및 MySQL 지원과 함께 CentOS 7 서버에 Lighttpd를 설치하는 방법을 보여줍니다. PHP-FPM(빠른 CGI 프로세스 관리자)은 모든 규모의 사이트, 특히 바쁜 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP FastCGI 구현입니다. 이 튜토리얼에서는 Lighttpd의 spawn-fcgi 대신 PHP-FPM을 사용합니다.

1 사전 참고

이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.1.100을 사용합니다. 이러한 설정은 귀하의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다.

2 MySQL 대체로 MariaDB 설치하기

먼저, 다음과 같이 MySQL을 설치합니다:

yum -y install mariadb mariadb-server

그런 다음 MySQL의 시스템 시작 링크를 생성하여(시스템이 부팅될 때마다 MySQL이 자동으로 시작되도록) MySQL 서버를 시작합니다:

systemctl enable mariadb.service  
systemctl start mariadb.service

MariaDB 루트 계정의 비밀번호를 설정합니다:

mysql_secure_installation
[root@server1 ~]# mysql_secure_installation  
/usr/bin/mysql_secure_installation:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB  
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
MariaDB에 로그인하여 보안을 설정하려면 현재  
루트 사용자에 대한 비밀번호가 필요합니다. MariaDB를 방금 설치했으며  
루트 비밀번호를 아직 설정하지 않았다면 비밀번호는 비어 있으므로  
여기에서 그냥 Enter 키를 누르십시오.
Enter current password for root (enter for none): <-- press enter  
OK, successfully used password, moving on...
루트 비밀번호를 설정하면 적절한 권한 없이 누구도 MariaDB  
루트 사용자로 로그인할 수 없도록 보장합니다.
Set root password? [Y/n] <-- y  
New password: <-- enter new password  
Re-enter new password: <-- enter new password  
Password updated successfully!  
Reloading privilege tables..  
... Success!
기본적으로 MariaDB 설치에는 익명 사용자가 있어 누구나  
사용자 계정을 생성하지 않고도 MariaDB에 로그인할 수 있습니다. 이는  
테스트 용도로만 사용되며 설치를 좀 더 원활하게 진행하기 위한 것입니다.  
생산 환경으로 이동하기 전에 이를 제거해야 합니다.
Remove anonymous users? [Y/n] <-- y  
... Success!
보통 루트는 'localhost'에서만 연결할 수 있어야 합니다. 이는  
누군가가 네트워크에서 루트 비밀번호를 추측할 수 없도록 보장합니다.
Disallow root login remotely? [Y/n] <-- y  
... Success!
기본적으로 MariaDB에는 누구나 접근할 수 있는 'test'라는 데이터베이스가 있습니다.  
이것은 테스트 용도로만 사용되며 생산 환경으로 이동하기 전에 제거해야 합니다.
Remove test database and access to it? [Y/n] <-- y  
- Dropping test database...  
... Success!  
- Removing privileges on test database...  
... Success!
권한 테이블을 다시 로드하면 지금까지 수행된 모든 변경 사항이  
즉시 적용됩니다.
Reload privilege tables now? [Y/n] <-- y  
... Success!
정리 중...
모든 작업이 완료되었습니다! 위의 모든 단계를 완료했다면  
귀하의 MariaDB 설치는 이제 안전해야 합니다.
MariaDB를 사용해 주셔서 감사합니다!

3 Lighttpd 설치하기

Lighttpd와 PHP-FPM은 공식 CentOS 리포지토리에서 사용할 수 없으므로 EPEL 리포지토리를 활성화해야 합니다:

yum -y install epel-release

EPEL GPG 키를 가져옵니다:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

그런 다음 실행합니다:

yum update

그 후, 다음과 같이 Lighttpd를 설치할 수 있습니다:

yum -y install lighttpd

그런 다음 Lighttpd의 시스템 시작 링크를 생성하여(시스템이 부팅될 때마다 Lighttpd가 자동으로 시작되도록) 시작합니다:

systemctl enable lighttpd.service  
systemctl start lighttpd.service

Lighttpd가 다음 오류 메시지와 함께 시작되지 않으면…

(network.c.203) socket failed: Address family not supported by protocol

… /etc/lighttpd/lighttpd.conf를 열고…

nano /etc/lighttpd/lighttpd.conf

… server.use-ipv6를 enable에서 disable로 변경합니다:

[...]  
##  
## Use IPv6?  
##  
server.use-ipv6 = "disable"  
[...]  

그런 다음 Lighttpd를 다시 시작해 보십시오. 이제 문제 없이 작동해야 합니다:

systemctl start lighttpd.service

Lighttpd의 문서 루트는 /var/www/ htdocs(기본 디렉토리 /var/www와 lighttpd.conf 파일에 따른 하위 디렉토리 htdocs)이며, 기본 파일은 /var/www/ lighttpd에 설치됩니다. 이는 일관성이 없으므로 다음과 같이 디렉토리 이름을 바꿔야 합니다.

mv /var/www/lighttpd /var/www/htdocs

이제 브라우저를 http://192.168.1.100으로 이동하면 다음 페이지가 표시됩니다:

lighttpd 시작 페이지

Lighttpd의 기본 문서 루트는 CentOS 7에서 /var/www/htdocs/이며, 구성 파일은 /etc/lighttpd/lighttpd.conf입니다.

4 PHP 설치하기

다음과 같이 PHP-FPM을 통해 Lighttpd에서 PHP를 작동하게 할 수 있습니다:

yum -y install php-fpm lighttpd-fastcgi

PHP-FPM은 포트 9000에서 FastCGI 서버를 실행하는 데몬 프로세스입니다.

/etc/php-fpm.d/www.conf를 열고…

nano /etc/php-fpm.d/www.conf

… 사용자와 그룹을 lighttpd로 설정합니다:

[...]  
; Unix user/group of processes  
; Note: The user is mandatory. If the group is not set, the default user's group  
;       will be used.  
; RPM: apache Choosed to be able to access some dir as httpd  
user = lighttpd  
; RPM: Keep a group allowed to write in log dir.  
group = lighttpd  
[...]  

PHP-FPM의 시스템 시작 링크를 생성하고 시작합니다:

systemctl enable php-fpm.service  
systemctl start php-fpm.service
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.