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

Debian Etch에서 PHP5 및 MySQL 지원으로 Nginx 설치하기

Debian Etch에서 PHP5 및 MySQL 지원으로 Nginx 설치하기

버전 1.0
저자: Falko Timme

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

이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

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

저는 이 가이드를 세 가지 다른 출처에서 컴파일하고 제 나름의 조각들을 추가했습니다:

  • Debian Etch - Slicehost에 의한 nginx 설치
  • Debian Etch - Slicehost에 의한 nginx init 스크립트 추가
  • Kurt Zankl에 의한 외부 FASTCGI 모드(데몬 모드)에서 php-cgi를 위한 init 스크립트

2 MySQL 5.0 설치하기

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

apt-get install mysql-server mysql-client

MySQL 사용자 root의 비밀번호를 생성합니다(여기서 yourrootsqlpassword를 사용하고자 하는 비밀번호로 교체):

mysqladmin -u root password yourrootsqlpassword

그런 다음 다음 명령어로 확인합니다:

netstat -tap | grep mysql

MySQL이 어떤 주소에서 수신 대기 중인지 확인합니다. 출력이 다음과 같으면:

tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld

이는 MySQL이 localhost.localdomain에서만 수신 대기 중임을 의미하므로, 이전에 설정한 비밀번호로 안전합니다. 그러나 출력이 다음과 같으면:

tcp        0      0 *:mysql *:*                     LISTEN     2713/mysqld

호스트 이름에 대해 MySQL 비밀번호를 설정해야 합니다. 그렇지 않으면 누구나 데이터베이스에 접근하고 데이터를 수정할 수 있습니다:

mysqladmin -h server1.example.com -u root password yourrootsqlpassword

3 Nginx 설치하기

Nginx는 Debian Etch용 패키지로 제공되지만, 오래된 버전(0.4.13)입니다. 최신 안정 버전은 0.6.34입니다. 따라서 소스에서 nginx를 빌드합니다.

먼저 몇 가지 필수 패키지를 설치합니다:

apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential

그런 다음 nginx를 다운로드하고 압축을 풉니다(최신 안정 릴리스는 http://nginx.net/에서 찾을 수 있습니다):

cd /tmp  
wget http://sysoev.ru/nginx/nginx-0.6.34.tar.gz  
tar xvfz nginx-0.6.34.tar.gz  
cd nginx-0.6.34

다음 명령어를 실행하여 모든 구성 옵션에 대해 알아볼 수 있습니다:

./configure --help

저는 다음과 같은 구성 문을 사용합니다…

./configure --sbin-path=/usr/local/sbin --with-http_ssl_module

… 그리고 설치를 완료하기 위해 다음을 실행합니다:

make  
make install

이렇게 하면 구성 파일, 로그 및 기본 웹 사이트가 포함된 디렉토리 /usr/local/nginx가 생성됩니다(/usr/local/nginx/html에 위치).

다음으로 nginx init 스크립트를 생성합니다:

vi /etc/init.d/nginx

| #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 |

파일을 실행 가능하게 만들고 nginx를 시작합니다:

chmod 755 /etc/init.d/nginx  
/etc/init.d/nginx start

웹 서버의 IP 주소나 호스트 이름을 브라우저에 입력합니다(예: http://192.168.0.100) 그러면 nginx 환영 페이지가 표시됩니다:

부팅 시 nginx가 시작되도록 하려면 다음을 실행합니다:

update-rc.d nginx defaults
Share: X/Twitter LinkedIn

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

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