보여주기만 할 휘발성 데이터를 바쁜 DB서버에서 그때그때 불러와 보여주는 건 낭비다.

그래서 그 정보들을 메모리에 넣어두고 보여주면 응답속도도 빠를 뿐 아니라 DB부하도 획기적으로 줄일 수 있다.


회사 서비스용 서버가 CentOS로 되어 있어 memcached를 설치해보았다.


1. libevent설치.

일단 memcached는 libevent라는 라이브러리를 이용한다. 먼저 설치해야 한다.

wget https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz --no-check-certificate

tar xvzf libevent-2.0.16-stable.tar.gz

cd libevent-2.0.16-stable

./configure --prefix=/usr

make; make install 

대충 이런 과정을 거쳤다.


2. memcached 설치.

이제 설치하려던 놈을 설치한다.

 wget http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz

tar xvzf memcached-1.4.10.tar.gz

cd memcached-1.4.10

./configure

make; make install


3. php 모듈 설치

회사 서비스가 php로 만들어져 있다. php에서 memcache에 접근할 수 있는 php 모듈을 설치해준다.

 wget http://pecl.php.net/get/memcache-3.0.6.tgz

tar xvzf memcache-3.0.6.tgz

cd memcache-3.0.6

phpize

./configure

make; make install

phpize명령이 실행이 안된다면, yum install php-devel명령으로 개발도구를 설치하고 다시 해본다.


다 설치가 되면 /etc/php.ini 파일을 열어 적당한 위치에 다음 라인을 추가한다.

 extension=memcache.so


이제 아파치를 재시작하고, 사용해보면 된다.

모두 FreeBSD의 포트 시스템을 이용합니다.

* 아파치2 설치하기..

# cd /usr/ports/www/apache22
# make install clean

프로그램 설치 완료 후, 바로 사용하려면..

# rehash

명령을... 그다음 서버 시작..

# apachectl start

httpready 머시기 에러가 나면..

# kldload accf_http

명령으로 임시적으로 accf_http 모듈을 커널에 로딩해주면 될겁니다..

부팅시 자동으로 로딩하게 하고싶으면..

# vi /boot/loader.conf

accf_data_load="YES" # Wait for data accept filter
accf_http_load="YES" # Wait for full HTTP request accept filter

추가하거나..

# vi /boot/defaults/loader.conf

에 해당 부분에 가서.. NO 를 YES로 바꿔줍니다.

다시한번...

# apachectl start

무슨 서버네임이 어쩌고 저쩌고 하는 에러가 나면..

# vi /usr/local/etc/apache22/httpd.conf

ServerName 앞에 주석을 없애고 적절히 수정해줍니다.

그 다음은 실수하지 않은 이상 될것임..

브라우저에 http://IP주소/ 쳐봐서 It works! 라고 나오면 성공.


* php5 설치

# cd /usr/ports/lang/php5
# make install clean

설치시, 아파치 꼭 선택하도록..

# cd /usr/ports/lang/php5-extensions
# make install clean

# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

# vi /usr/local/etc/apache22/httpd.conf

<ifModule mime_module>
     # 이 사이에 아래 문장을 끼워넣도록..
    AddType application/x-httpd-php .php .inc
</ifModule>

아파치를 재시작하고..

# apachectl restart

php 테스트용 페이지를 만든다.

# cd /usr/local/www/apache22/data
# echo '<?php phpinfo(); ?>' > phpinfo.php

웹브라우저에 http://IP주소/phpinfo.php 를 쳐봐서 php 정보 페이지 나오면 OK

* mysql5 설치

- 이후 작성;; -

+ Recent posts