[추가, 수정]throttle을 설치해보자 (웹서버 트래픽 내맘대로 조

kcv의 이미지

안녕하세요

초보자 분들은, Throttle모듈을 설치하기시가 어려우실 거에요.
저또한 그랬구요.

오늘 과감하게 저의 허접?비법을 여러분과 함께 공유할까 합니다.

일단 Throttle의 공식 싸이트를 가셔서 한번 둘러 보세요
주소는 http://www.snert.com/Software/mod_throttle/ 이랍니다.

Throttle은 서버의 트래픽 설정을 가능하게 해주는 것입니다.
웹호스팅을 하시는 분에게는 편리한 놈이랍니다.

웹호스팅 사이트를 돌아다니다보면
" 일일트래픽 500M , 혹은 일일 히트수 1000 히트 제한 "
이런 글을 볼 수 있습니다.

저런것은 보통의 경우 throttle-me을 많이 사용하더군요.

이제 슬슬 설치하여 볼까요^^?

--------------------------------------------------------------------------------
설치하기에 앞서서, 설치하기 쉬운 방법을 알려드리고자 합니다.(초보자용)
최신의 리눅스배포판을 설치하지 마시고, 아파치 1.3.x버전을 탑재한 리눅스 배포판을 전체설치 하십시오.
그러면 아파치와 php, mysql들을 따로 까실 필요가 없겠지요.
또한 저렇게 설치를 하시면 아파치가 DSO방식으로 설치가 됩니다.
즉, 리눅스를 까신후 throttle을 받으셔서 압축해제를 하시고,
# make install
저렇게만 하시면 설치완료가 됩니다.
그러면 설치 완료^^
그후에 httpd.conf를 설정하시면 됩니다.

정리를 하자면
1)아파치 1.3.x버전을 탑재한 리눅스 배포판을 전체설치한다
(물론 apahce, php, mysql만 선택하셔서 설치하셔도 됩니다)

2)throttle을 받아서 압축을 푼다

3)압축을 푼후, 압축을 푼 폴더로 이동한 후
ex)#cd mod_throttle-3.1.x

4)#make install
이라는 명령을 내린다

4)그후 아파치의 환경설정을 한다. 환경설정파일의 이름은 "httpd.conf"이다
보통 "/etc/httpd/conf/httpd.conf"에 위치한다.
--------------------------------------------------------------------------------

차례를 살펴보면~~
-------------------------------------------------------------------
0. 아파치설치하기

1. 아파치 설치방법(1)
1-1.아파치를 DSO으로 설치하기
1-2.아파치를 DSO로 설치하였을 경우 throttle을 설치하는 방법

2. 아파치 설치방법(2)
2-1.아파치를 static으로로 설치
2-2.아파치를 static으로 설치하였을 경우 throttle을 설치하는 방법

3.아파치의 httpd.conf설정하기
------------------------------------------------------------------
(아파치, PHP, Mysql, throttle을 설치하는 모습을 보여주면 좋겠지만, 저러한 것들은 다른 글을 참고하세요.)

저는 아파치와 PHP, throttle을 설치하는 방법만을 알려드릴께요.

(여기서 너무 자세한 설명은 불가능 하므로, 도중도중 모르시는 부분은 http://kldp.org 혹은 http://linux-sarang.net 혹은)
(http://phpschool.com에서 문의하시기 바랍니다.)

0. 아파치 설치하기

우선 아파치를 받아옵니다
그런데 throttle은 아파치 1.3.x만을 지원하므로, 1.3.x버젼을 받도록 합니다.(2.0버젼은 아직까지 지원을 하지 않아요)

이제 아파치를 설지를 해야겠죠? 그런데 아파치를 설치하는데는 크게 2가지가 방법이 있습니다
rpm설치와 소스설치가 있습니다.

throttle을 설치할 경우 아피치를 소스설치로 하는것이 좋습니다.

소스설치의 경우 또 2가지 방법가 있답니다.
DSO설치와 Static설치가 있어요..

저 둘의 차이점은 이 페이지 맨 아래에 적어둘께요. 참고하세요~~

일단은 DSO설치방법을 살펴봅시다.

1. 아파치 설치방법(1)

1-1.아파치를 DSO으로 설치하기

아파치를 아무곳에나? 받은후에 압축을 풉니다.
그런후에 압축을 푼 폴더로 이동을 합니다.
ex)#tar xvfz apache_1.3.29
#cd apache_1.3.29

이동을 한 후에, 환경설정을 해야합니다.
[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so --enable-shared=max \

(참고로 php를 설치하셔야 하는분은
([root@ apache_1.3.29]# ./configure --prefix=/usr/local/apache \
(--enable-rule=SHARED_CORE \
(--enable-module=so --enable-shared=max \
(--activate-module=src/modules/php4/libphp4.a \

☆☆여기서 띄어쓰기를 주의하세요. 예를들어 apache\같이 띄어쓰기를 하지 않을경우 설치가 제대로 되지 않습니다☆☆

이제 컴파일, 설치를 합니다
[root@ apache_1.3.27]# make
[root@ apache_1.3.27]# make install

1-2.아파치를 DSO로 설치하였을 경우 throttle을 설치하는 방법

DSO로 설치하였을 경우 throttle을 설치하기가 매우 쉽습니다.
일단 throttle설치파일을 받습니다.
받는곳은 http://www.snert.com/Software/mod_throttle <--저곳에 있습니다.
귀찮으신 분은 http://www.snert.com/Software/mod_throttle/mod_throttle312.tgz <--저것을 받으시면 됩니다.

받으신후 아무곳에나? 압축을 풉니다.
그리고 나서 압축을 푼 폴더로 이동합니다
ex)# tar xvfz mod_throttle312.tgz (압축풀기)
# cd mod_throttle (이동하기)

그리고 나서 설치를 하시면 됩니다.
# make install

그런데 여기서 잘 살펴보아야 할점을, 설치를 하는경우 apxs라는 파일을 사용하는데 그것은 아파치의 bin폴더에 있습니다.

보통 저 경로를 지정하지 않았을 경우, 에러가 나게 되지요
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
따라서, 압축을 푼 폴더로 이동을 하신후에
#PATH=$PATH:/usr/local/apache/bin
#export path
저 명령을 내리십시오.

저렇게 반드시 하신후에
#make install
저 명령을 하시기 바랍니다
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

이제 설치가 완료 되었습니다

httpd.conf파일을 설정을 하게 되면, 트래픽을 조정할수 있습니다.

설정방법은 "3.아파치의 httpd.conf설정하기"에적어놓았습니다. 반드시 보세요.

----------------------------------------------------------------------------------------------------
혹시 mysql이나 php등을 설치할때, 뭐가 뭔지 혼란이 오시는 분이 있을까봐, 제가 설치하는 모습을 그대로 재현해 보았습니다.
참고하세요.
[root@ ]# tar xvfz apache_1.3.27 -C /usr/local
[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache

[root@ ]# tar xvfz php-4.2.3 -C /usr/local
[root@ php-4.2.3]# ./configure --with-apache=../apache_1.3.27 \
--with-mysql=/usr/local/mysql \
--with-gd --with-gif-dir=/usr/lib \
--with-png-dir --with-zlib-dir --with-jpeg-dir \
--with-imap --with-imap-ssl --with-kerberos \
--with-freetype-dir --enable-ftp --enable-socket \
--disable-debug --enable-track-vars
[root@ php-4.2.3]# make
[root@ php-4.2.3]# make install

[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so --enable-shared=max \
--activate-module=src/modules/php4/libphp4.a \
[root@ apache_1.3.27]# make
[root@ apache_1.3.27]# make install

[root@ ]# tar xvfz mod_throttle312.tgz
[root@ ]# cd mod_throttle
[root@ ]# make install
-----------------------------------------------------------------------------------------

2. 아파치 설치방법(2)

2-1.아파치를 static으로로 설치

static으로 설치하는 방법도 DSO와 유사합니다.
웹에서 아파치를 다운로드 한후에(물론 1.3.x버젼이어야 합니다.)
압축을 푸시고, 압축을 푼 폴더로 이동을 합니다.(이동 방법은 좀전의 방법과 같습니다.)

이동후 저와같은 명령을 내리십시오.
# ./configure --prefix=/usr/local/apache \
--add-module=src/modules/extra/mod_throttle.c

(참고로 php를 설치하셔야 하는분은
(# ./configure --prefix=/usr/local/apache \
(--activate-module=src/modules/php4/libphp4.a \
(--add-module=src/modules/extra/mod_throttle.c
(이와같이 하시면 됩니다.

☆☆여기서 띄어쓰기를 주의하세요. 예를들어 apache\같이 띄어쓰기를 하지 않을경우 설치가 제대로 되지 않습니다☆☆

그후 아파치를 컴파일 설치하시면 됩니다
#make
#make install

설치가 잘 되었는지 알아보는 방법은 아래와 같습니다.
(물론 출력결과는 저와 다를것입니다)
# /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
mod_throttle.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec

여기서 mod_throttle.c이 있다면, 설치성공^^

설치가 완료 되었으므로, httpd.conf를 설정을 하시면 끝납니다.

"3.아파치의 httpd.conf설정하기"에 적어놓았으니 반드시 읽어보세요

------------------------------------------------------------------------------------------
3.아파치의 httpd.conf설정하기

설정파일을 설정해 봅시다.
#vi /usr/local/apache/conf/httpd.conf

그러면 설정파일이 나타납니다.

일단 맨 아래에 이것을 추가하세요.

<IfModule mod_throttle.c>
ThrottlePolicy none

<Location /throttle-status>
SetHandler throttle-status
</Location>

<Location /throttle-me>
SetHandler throttle-me
</Location>

<Location /~*/throttle-me>
SetHandler throttle-me
</Location>
</IfModule>

그런후에

저렇게 한후에 가상 호스트 설정을 할수도 있습니다

방법은
<VirtualHost 123.123.123.123>
ServerAdmin dream@praise.co.kr
DocumentRoot /home/dream/public_html
ServerName myserver.co.kr
ServerAlias www.myserver.co.kr
Throttle Policy Volume 1024M 1d // 1일 1G 제한
ThrottlePolicy Request 1000 1d // 하루 히트수 1000회 제한
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
</VirtualHost>
입니다.

http://자신의 아이피 혹은 도메인/throttle-status 에서,
서버에 설정된 대역폭의 모든 내용을 확인 할 수 있으며

서버에 설정된 특정 도메인의 트래픽을 확인 하려면
http://자신의 아이피 혹은 도메인/~아이디/throttle-me 를 확인 하면 됩니다.

이제 끝이랍니다.~

지금까지 따라오시느라 힘드셨죠?

수고 하셨습니다

문의 사항은 kcv123@hanmail.net으로 보내주시기 바랍니다.

그럼^^

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
참고사항
----------------------------------------------
DSO 방식과 Static 방식의 차이점은 무엇일가요?

DSO방식은 아파치를 먼저 컴파일하고 다른 모듈들을 추가로 설치할 때는 아파치를 재 컴파일하지
않고 한번 설정되어 컴파일된 아파치를 계속 사용하는 것이다.
즉, DSO방식은 아파치를 단 한번만 컴파일한다는 것이다. 이점은 관리, 설치면에서 커다란 장점이다.
Static 방식은 설치면에서 추가로 모듈을 설치하려고 하면 설정하려는 모듈만 설정하고 컴파일하는
과정이 필요할 뿐만 아니라 아파치 또한 그에 따라 컴파일을 하여야 한다.
이는 관리면에서 단점이 될 수 있다.

시스템 측면에서 이 두 가지의 차이점이 있다.

먼저 DSO는 아파치에 설치된 모듈이 필요할 때 시스템에 적재된다. 이는 클라이언트의 요청에
응답하는 요청시간이 다소 느릴 수 있지만, 하드웨어의 속도가 뒷받침된다면 해결이 될 수 있는 부분이다.
여하튼 이런 방식(DSO)은 시스템의 리소스(메모리, CPU)들을 적절하게 효율적으로 사용한다고 볼 수 있다.
이 방식은 예전에는 실험적인 성격을 가졌지만, 이젠 거의 안정 수준에 올라와 점점 DSO방식을 선호하고 있다.

또 다른 방식인 Static 방식은 이전 방식(DSO)와는 다소 차이가 있다.
이 방식은 아파치에 추가된 모듈이 아파치의 기동과 함께 모든 모듈을 포함하여 시스템에 적재한다.
만약 아파치의 기동과 함께 적재된 어떤 모듈이 클라이언트에 의해 거의 쓰지 않는다면 쓸데없이
시스템 리소스를 점유하고 있으므로 이는 비효율적이라 볼 수 있다.
또한 아파치와 각 모듈들은 설치시 복잡하다.
각 모듈과 설정된 아파치에 또 다시 모듈을 추가하려 할 때 아파치와 모듈을 다시 컴파일하여야 한다.
----------------------------------------------------------------------------------------------------

Forums: 
juicy의 이미지

트래픽 제한하는 기능 말고 자세한 통계 수치로 모니터링해보는 건 없나요?

hey의 이미지

왜 이런 글은 꼭 아파치, php를 컴파일하는 방법을 알려줄까요? :roll:


----------------------------
May the F/OSS be with you..


익명 사용자의 이미지

kcv

안녕 하세요.. 좋은글 잘 읽었습니다.
저도 throttle 설치를 해보려고 하는데, 제가 워낙 초보다 보니
알려주신 방법대로 따라 했는데, 안되는 부분이 있어서 문의 드립니다.

아파치 버전은 Apache/1.3.33 이 이미 설치 되어 있고, 설명하신
DSO 방식인지, Static 방식인지는 어떻게 확인하는지 몰라서 그냥 DSO
방식으로 따라해보았습니다.

throttle 를 알려주신 곳에서 다운받아서 압축풀고
폴더에 가서 PATH 설정해주고 make install 했는데 아래와 같은 오류메세지가
나와서요.. 원인이 어떤건지 알 수 없을까요 ?

[root@man /usr/local/mod_throttle]# make install
apxs -c mod_throttle.c
gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -fpic -DSHARED_MODULE -I/usr/local/apache/include -c mod_throttle.c
/tmp/ccypiZQI.i: No space left on device
apxs:Break: Command failed with rc=1
make: *** [mod_throttle.so] Error 1

그럼 수고 하세요..

kall의 이미지

limitp wrote:
throttle 를 알려주신 곳에서 다운받아서 압축풀고
폴더에 가서 PATH 설정해주고 make install 했는데 아래와 같은 오류메세지가
나와서요.. 원인이 어떤건지 알 수 없을까요 ?

[root@man /usr/local/mod_throttle]# make install
apxs -c mod_throttle.c
gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_HSREGEX -fpic -DSHARED_MODULE -I/usr/local/apache/include -c mod_throttle.c
/tmp/ccypiZQI.i: No space left on device
apxs:Break: Command failed with rc=1
make: *** [mod_throttle.so] Error 1

그럼 수고 하세요..


/tmp/ccypiZQI.i: No space left on device
/tmp에 용량이 부족하다는데요..

----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.