| 여러장의 이미지 간단히 합치기 | 움직이는GIF만들기 | 썸네일 쉽게 만들기
BLOG main image
분류 전체보기 (78)
I am (0)
Today (1)
개발자이야기 (10)
나만의 유용한정보 (7)
서버관련 (38)
지름신 (5)
사진/여행 (1)
끄적끄적 (4)
골프 (8)
주식 (2)

memcached monitor tool 소개
§ 청명공자's NotePad §
ssh 접속시 rsa 인증을 통해서..
컴ⓣing의 주절거림 in textcube
«   2018/11   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
954,989 Visitors up to today!
Today 90 hit, Yesterday 99 hit
daisy rss
티스토리 가입하기!
'서버관련'에 해당되는 글 38건


2012.07.09 13:47

nginx에 재미 있는 Addons기능중에 echo  라는 기능이 있다.

nginx단에서 간단하게 특정 코드를 출력할 수 있는 기능이다.

 

https://github.com/agentzh/echo-nginx-module/tags

echo모듈을 다운받고,

 

nginx컴파일시 echo모듈의 경로를 아래와 같이 추가한다.

 

./configure --prefix=/usr/local/nginx --add-module=./echo-nginx-module

 

컴파일후 nginx.conf 에 아래과 같이 추가한다.

 

 location /hello {

    #default_type  text/plain;   # 옵션

    echo "hello, world!";
 }

도메인이 abc.com 이라면,

http://abc.com/hello

 

접속시 hello, world! 를 표시해줄것이다.

 

나같은 경운 crossdomain.xml 을 echo모듈로 사용했다. 로컬하드에 파일이 없어도 웹서버단에서 자동처리될 것이다.

location /crossdomain.xml {
   echo "<!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">";
  echo "<cross-domain-policy>";
  echo "<allow-access-from domain=\"*\" />";
  echo "<allow-http-request-headers-from domain=\"*\" headers=\"*\" />";
  echo "</cross-domain-policy>";
}

 

http://abc.com/crossdomain.xml  하면 자동으로 나올것이다.

참고로 이 파일은 플래쉬파일에서 crossdomain관련 참조하는 파일이다.

 

 

Name
Password
Homepage
Secret


2012.05.29 17:56

요즘 성능이슈로 세션이나 캐싱을 memcached로 많이 구현되어 있는거 같다.

memcached 모니터링 툴을 찾다가 괜찮은 툴이 있어서 소개~

 

http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/

 

memcache.php 소스다운은 위의 블로그 방문에도 있고 직접 받으려면,

http://livebookmark.net/memcachephp/memcachephp.zip

 

memcache.php 파일을 원하는 서버폴더에 넣고,

 

아래의 소스상에서 수정만 하면 된다. (접근할 사용자ID/비번/memcached 서버설정만 하면 끝)

 

define('ADMIN_USERNAME','사용자ID');    // Admin Username
define('ADMIN_PASSWORD','비밀번호');        // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array
//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

 

소스에서처럼 서버들을 array로 여러개 지정이 가능하다.

 

아래는 구동화면~

 

 

Name
Password
Homepage
Secret


2012.05.10 10:35

nginx 에서 rewrite기능을 사용하면 기본적으로 request_uri 가 붙는다..

 

가령, www.abc.com/test/index.php?a=123  을 아래의 룰로 redirect하면

 

rewrite ^/test/           /   permanent;

 

www.abc.com/test/?a=123

결과

www.abc.com/?a=123

 

으로 되어 버린다~

 

아래와 같이 하면 깔끔하게 해결~

 

rewiret ^/test/            /?  permanent;

 

www.abc.com/test/?a=123

결과

www.abc.com/

 

사소하지만 이거 찾는데 시간이 좀 걸렸따아~;ㅋ

Name
Password
Homepage
Secret


2012.04.12 12:49

ssl 인증서는 서버당 한개의 인증서만 설치됩니다. (기본포트 443)

 

여러개를 설치하려면,

 

1. 멀티인증서를 사용한다. 그러나 최소4개의 도메인에 대한 인증서와

   만기일을 항상 맞춰야한다는 단점이 있으며, 인증서 추가시 모든인증서를 다시 받아야하는 단점이 있다.

2, 다른방법으로는 ssl 포트번호를 바꾸는방법인데..

   기본적으로 http://xxx:444 와 같이 별도 포트로 연결처리를 해야한다.

3. 서버에 IP를 추가할당하여 각각 IP로 인증서설치(nginx에서만 됨)

 

nginx에서 동일한 ssl 기본포트(443)로 여러개의 인증서를 설치하려면,

기본적으로 서버에 IP를 별도로 할당할 수 있어야합니다~ (아파치에서는 안됨)

 

$ ifconfig

bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=401bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
        ether 78:2b:cb:4a:74:36
        inet 110.x.x.92 netmask 0xffffff00 broadcast 110.92.254.255
        inet 110.x.x.93 netmask 0xffffffff broadcast 110.92.254.93
        media: Ethernet autoselect (1000baseTX <full-duplex,flowcontrol,master,rxpause,txpause>)
        status: active

 

그다음 nginx.conf 를 아래와 같이 기술

 

    server {
        listen               110.x.x.92:443;
        server_name     www.abc.com;

        ssl                  on;
        ssl_certificate          cert/chain.crt;
        ssl_certificate_key    cert/server.key;

        ..

        ..
    }

    server {
        listen               110.x.x.93:443;
        server_name     www.bbc.com;

 

        ssl                  on;
        ssl_certificate          cert2/chain.crt;
        ssl_certificate_key    cert2/server.key;

        ..

        ..
   }

 

 

두IP에 대한 443포트가 띄워져있는걸 볼 수 있네요~

 

$netstat -na | grep LISTEN
tcp4       0      0 110.x.x.93.443      *.*                    LISTEN
tcp4       0      0 110.x.x.92.443      *.*                    LISTEN

 

김태상 | 2012.06.28 14:11 신고 | PERMALINK | EDIT/DEL | REPLY
아 역시 해답을 주시네요. ㅋㅋㅋㅋ 이방법을 왜 생각못했을까요. ㅋㅋ
감사합니다
Name
Password
Homepage
Secret


2011.12.14 15:43


nginx로 proxy서버로 사용할때 목적지서버의 404나 403 등의 에러응답코드를
다른것으로 변조하고 싶은경우가 있다.

이럴경우 아래의 코드를 삽입해서 proxy서버에서 직접 콘트롤 가능하게 할 수 있다.

proxy_pass http://00.00.00.0;
xxx
proxy_intercept_errors on;

error_page 403 /403.jpg;

proxy서버에서 특정페이지로 redirect하거나 여러가지 일을 할 수 있다.
Name
Password
Homepage
Secret


2011.04.26 15:37

502 bad  에러를 내뱉는다..

ajax로 호출하는 페이지에 양이 많을경우( 아마 헤더용량을 넘어선듯..)

nginx.conf에 아래를 추가한다.

fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;

에러가 안난다.. 너무큰가.. 기본값이 4k 인가. 암튼..ㅋ
Name
Password
Homepage
Secret


2011.04.08 17:09
사용자 업로드폴더(웹에서접근가능)나 업로드폴더가 아닌 일반 이미지폴더에
<? phpinfo() ?> 로 저장후 test.jpg를 올리게 되면
nginx는 uri 뒤에 확장자만 .php면 넘기게 되어 있기때문에 보안에 주의해야합니다.

ex) http://abc.com/images/test.jpg/xxx.php

위의 경로로 test.jpg가 구동되는것을 방지하려면,

try_files $uri $uri/ /index.php;
if (!-f $request_filename) { return 403; }

혹은

if (!-e $request_filename) { rewrite ^.*$ /index.php last; }

이렇게 구성해주면 됩니다.

통상적인 프레임워크를 쓰기위한 rewite 가 아래와 같이 구성되어 있으면
        if ($request_filename ~* ".*\.(php)$") {
                rewrite ^.*$ /index.php last;
        }
        if (!-e $request_filename) {
                rewrite ^.*$ /index.php last;
        }
상관없겠네요..

nginx 쓰면서 가장 보안에 주의해야할 부분입니다.

Name
Password
Homepage
Secret


2011.03.14 16:39
php-fpm 모듈을 올릴때

/usr/local/sbin/php-fpm start

아래와 같은 에러가 나면서 start 스트립트가 멈추지 않는 현상이 나타난다.
fpm_event_loop(), line 107: libevent: entering main loop


vi /usr/local/sbin/php-fpm 의 상단에
php_fpm_BIN=/usr/local/bin/php-cgi
php_fpm_CONF=/usr/local/etc/php-fpm.conf
;php_fpm_PID=/usr/loca/logs/php-fpm.pid
php_fpm_PID=/var/run/php-fpm.pid

과 같이 pid의 경로를 제대로된 경로로 수정해주니 잘되었따아.. 1시간삽질;;;

김영현 | 2011.03.26 13:08 신고 | PERMALINK | EDIT/DEL | REPLY
참 좋은 프로그램이네요^^ 근데, "가로몇행*세로몇열"로 선택해서 맞춰 이미지를 합칠 수 있다면 더 좋겠네요.
Name
Password
Homepage
Secret


2011.03.04 21:20
nginx에서 cgi구동시

No input file specified.

만 나올때

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

를 nginx.conf 에 추가해야한다.;;
Name
Password
Homepage
Secret


2011.02.17 19:20

lighttpd 웹서버에서 CakePHP 프레임웍 사용할때 lighttpd.conf 셋팅방법입니다.

php.ini 에

cgi.fix_pathinfo=1

추가한다.

lighttpd.conf 의 fastcgi설정에
"broken-scriptfilename" => "enable" 추가한다.

fastcgi.server = ( ".php" =>
    (( "socket" => "/tmp/php-fastcgi.socket",
        "bin-path" => "/usr/local/bin/php-cgi" ,
        "broken-scriptfilename" => "enable"
    ))
)

lighttpd.conf 의 rewrite 설정

url.rewrite = (
     "(css|files|img|js)/(.*)" => "/$1/$2",
     "^([^\?]*)(\?(.+))?$" => "/index.php?url=$1&$3",
)


lighttpd를 재가동합니다.

 

Name
Password
Homepage
Secret