서버 설치 · 3 min read · Feb 08, 2026

OpenSUSE 11.4에서 PHP5(및 PHP-FPM) 및 MySQL 지원으로 Nginx 설치하기

OpenSUSE 11.4에서 PHP5(및 PHP-FPM) 및 MySQL 지원으로 Nginx 설치하기

버전 1.0
저자: Falko Timme
Twitter에서 나를 팔로우하세요

Nginx(발음: “엔진 엑스”)는 무료, 오픈 소스, 고성능 HTTP 서버입니다. Nginx는 안정성, 풍부한 기능 세트, 간단한 구성 및 낮은 자원 소비로 유명합니다. 이 튜토리얼에서는 PHP5 지원( PHP-FPM을 통해) 및 MySQL 지원으로 OpenSUSE 11.4 서버에 Nginx를 설치하는 방법을 보여줍니다.

이것이 당신에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

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

2 MySQL 5 설치하기

먼저 다음과 같이 MySQL 5를 설치합니다:

yast2 -i mysql mysql-client mysql-community-server

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

chkconfig -f --add mysql  
/etc/init.d/mysql start

이제 네트워킹이 활성화되어 있는지 확인합니다. 다음을 실행하세요:

netstat -tap | grep mysql

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

server1:~ # netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      2360/mysqld  
server1:~ #

만약 그렇지 않다면 /etc/my.cnf를 편집하고 skip-networking 옵션을 주석 처리합니다:

vi /etc/my.cnf

| [...] #skip-networking [...] |

그리고 MySQL 서버를 재시작합니다:

/etc/init.d/mysql restart

(만약 “유효한 vim 바이너리 패키지가 설치되어 있지 않습니다. “vim”, “vim-enhanced” 또는 “gvim” 중 하나를 설치하십시오.”라는 메시지가 표시되면, 다음을 실행하여 vi를 설치하고 다시 시도하세요:

yast2 -i vim

)

다음 명령을 실행하여:

mysql_secure_installation

root 사용자에 대한 비밀번호를 설정합니다(그렇지 않으면 누구나 MySQL 데이터베이스에 접근할 수 있습니다!):

server1:~ # mysql_secure_installation

NOTE: 이 스크립트의 모든 부분을 실행하는 것이 모든 MySQL
생산 환경에서 권장됩니다! 각 단계를 주의 깊게 읽어보세요!

MySQL에 로그인하여 보안을 설정하려면 현재 root 사용자에 대한 비밀번호가 필요합니다. MySQL을 방금 설치했으며 root 비밀번호를 아직 설정하지 않았다면 비밀번호는 비어 있으므로 여기서 그냥 Enter를 누르세요.

현재 root 비밀번호 입력(없으면 Enter): <– ENTER
OK, 비밀번호가 성공적으로 사용되었습니다. 계속 진행합니다…

root 비밀번호를 설정하면 적절한 권한 없이 누구도 MySQL root 사용자로 로그인할 수 없도록 보장합니다.

root 비밀번호를 설정하시겠습니까? [Y/n] <– Y
새 비밀번호: <– 원하는 MySQL root 비밀번호를 입력하세요
새 비밀번호 재입력: <– 비밀번호를 확인하세요
비밀번호가 성공적으로 업데이트되었습니다!
권한 테이블을 다시 로드하는 중..
… 성공!

기본적으로 MySQL 설치에는 익명 사용자가 있어 누구나 사용자 계정을 생성하지 않고도 MySQL에 로그인할 수 있습니다. 이는 테스트 용도로만 의도되며 설치를 조금 더 원활하게 진행하기 위한 것입니다. 프로덕션 환경으로 이동하기 전에 이를 제거해야 합니다.

익명 사용자를 제거하시겠습니까? [Y/n] <– Y
… 성공!

보통 root는 ‘localhost’에서만 연결할 수 있어야 합니다. 이는 누군가가 네트워크에서 root 비밀번호를 추측할 수 없도록 보장합니다.

원격에서 root 로그인을 금지하시겠습니까? [Y/n] <– Y
… 성공!

기본적으로 MySQL은 누구나 접근할 수 있는 ‘test’라는 데이터베이스를 가지고 있습니다. 이는 테스트 용도로만 의도되며 프로덕션 환경으로 이동하기 전에 제거해야 합니다.

test 데이터베이스 및 접근 권한을 제거하시겠습니까? [Y/n] <– Y

  • test 데이터베이스 삭제 중…
    … 성공!
  • test 데이터베이스에 대한 권한 제거 중…
    … 성공!

권한 테이블을 다시 로드하면 지금까지 변경된 모든 사항이 즉시 적용됩니다.

지금 권한 테이블을 다시 로드하시겠습니까? [Y/n] <– Y
… 성공!

정리 중…

모든 작업이 완료되었습니다! 위의 모든 단계를 완료했다면 MySQL 설치가 이제 안전해야 합니다.

MySQL을 사용해 주셔서 감사합니다!

server1:~ #

3 Nginx 설치하기

Nginx는 OpenSUSE 11.4용 패키지로 제공되며 다음과 같이 설치할 수 있습니다:

yast2 -i nginx-0.8

그런 다음 nginx의 시스템 시작 링크를 생성하고 시작합니다:

chkconfig -f --add nginx  
/etc/init.d/nginx start

웹 서버의 IP 주소 또는 호스트 이름을 브라우저에 입력하세요(예: http://192.168.0.100), 그러면 다음 페이지가 표시됩니다:

OpenSUSE 11.4에서는 기본 nginx 문서 루트가 /srv/www/htdocs이므로 인덱스 페이지가 /srv/www/htdocs에 없기 때문에 403 금지 오류가 발생합니다.

4 PHP5 설치하기

PHP-FPM을 통해 nginx에서 PHP5를 작동시킬 수 있습니다(PHP-FPM(FastCGI 프로세스 관리자)은 모든 크기의 사이트, 특히 더 바쁜 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP FastCGI 구현입니다). 다음과 같이 설치합니다:

yast2 -i php5-fpm

PHP-FPM을 시작하기 전에 /etc/php5/fpm/php-fpm.conf.default의 이름을 /etc/php5/fpm/php-fpm.conf로 변경합니다:

mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

그런 다음 /etc/php5/fpm/php-fpm.conf를 엽니다…

vi /etc/php5/fpm/php-fpm.conf

… 그리고 error_log를 /var/log/php-fpm.log로 변경하고 pm.min_spare_servers 및 pm.max_spare_servers의 주석을 제거합니다:

| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |

다음으로 php-fpm의 시스템 시작 링크를 생성하고 시작합니다:

chkconfig -f --add php-fpm  
/etc/init.d/php-fpm start

PHP-FPM은 포트 9000에서 FastCGI 서버를 실행하는 데몬 프로세스입니다(초기 스크립트는 /etc/init.d/php-fpm입니다). 다음의 출력에서 확인할 수 있습니다:

netstat -tapn
server1:~ # netstat -tapn  
활성 인터넷 연결(서버 및 설정됨)  
프로토콜 수신 대기 송신 대기 로컬 주소           외부 주소           상태       PID/프로그램 이름  
tcp        0      0 127.0.0.1:9000          0.0.0.0:*           LISTEN      4229/php-fpm.conf)  
tcp        0      0 0.0.0.0:3306           0.0.0.0:*           LISTEN      2360/mysqld  
tcp        0      0 0.0.0.0:111            0.0.0.0:*           LISTEN      1378/rpcbind  
tcp        0      0 0.0.0.0:80             0.0.0.0:*           LISTEN      3795/nginx  
tcp        0      0 0.0.0.0:22             0.0.0.0:*           LISTEN      1190/sshd  
tcp        0      0 127.0.0.1:25          0.0.0.0:*           LISTEN      1425/master  
tcp        0      0 :::111                  :::*               LISTEN      1378/rpcbind  
tcp        0      0 :::22                   :::*               LISTEN      1190/sshd  
tcp        0      0 ::1:25                  :::*               LISTEN      1425/master  
server1:~ #
Share: X/Twitter LinkedIn

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

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