Nginx Service 로 등록

Server|2014. 8. 13. 10:13


Web: http://www.lloydkinsella.net/

Github: https://github.com/lkinsella/nginx-svc

Twitter: http://www.twitter.com/lloydkinsella



'Server' 카테고리의 다른 글

[Oracle] auto commit error  (0) 2020.07.29
[Kafka] 토픽 삭제 후, 브로커 기동안됨  (0) 2020.06.24
Zookeeper  (0) 2019.12.09
Jconsole (톰캣 모니터링,자바 모니터링)  (0) 2014.08.12
Varnish 설치 Centos, FreeBSD  (0) 2013.10.30

댓글()

Jconsole (톰캣 모니터링,자바 모니터링)

Server|2014. 8. 12. 15:57

WAS 모니터링 툴은 많지만..

상용도 아니고 따로 설치 할 필요 없이 JDK 설치시 함께 설치되는 Jconsole을 주로 활용한다.

주 기능은 Thread, Heap Memory, 기타 정보들 모니터링이며 메모리 Leak을 체크하는데 활용한다.


일반적으로 위치는 JAVA_HOME 에 bin 에 jconsole.exe 이며

실행하면 아래와 같이 나타난다

Local로 프로세스가 동작하고 있어서 리스트에 보인다면 그냥 선택 후 'Connect' 를 선택한다면 위의 창 처럼 나오겠지만


대부분 서비스로 돌고 있는 경우가 많아 리스트에 나타나지 않기때문에

Remote Process 에 url 을 입력해 주어야 한다.


톰캣을 모니터링 하기 위해서는 톰캣에 옵션을 추가해 주어야 한다.

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=8999

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false  

위와 같이 설정 후

아래와 같이 Remote Process 를 입력 하여 Connect 를 선택하면 

실시간으로 데이터를 확인 할 수 있다.









'Server' 카테고리의 다른 글

[Oracle] auto commit error  (0) 2020.07.29
[Kafka] 토픽 삭제 후, 브로커 기동안됨  (0) 2020.06.24
Zookeeper  (0) 2019.12.09
Nginx Service 로 등록  (0) 2014.08.13
Varnish 설치 Centos, FreeBSD  (0) 2013.10.30

댓글()

Varnish 설치 Centos, FreeBSD

Server|2013. 10. 30. 10:56

지난번에

http://helloworld.naver.com/helloworld/textyle/352076

블로그를 보고

아.. 웹캐쉬 시스템이 오픈소스로 이런것들도 있구나 했었는데..


공부할 일이 있어서 한번 설치해 보았다..


지난 RabbitMQ 와 마찬가지로 설치가 생각보다 많이 간단해서.. 역시나 글이 없나보다..

https://www.varnish-cache.org/

여기가 공식홈이고


현재는 우측에 다운로드 버튼이 바로 보인다.


현재는 3.0.4 가 최신 버전


먼저 Centos 를 설치하려

RedHat(Centos) 를 선택하니

rpm이랑 yum으로 된다고 하길래..그냥.. 따라서 설치 ㅎㅎ;;

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el6/noarch/varnish-release/varnish-release-3.0-1.el6.noarch.rpm

yum install varnish

를 로 설치해주면 끝..-_-ㅋㅋ


그후에 이제 서버 구동을 해봐야겠지..

역시나 검색으로 찾다가

http://www.tecmint.com/install-varnish-cache-web-accelerator/

여기 내용을 참고했다..


일단 설정파일은

/etc/init.d/varnish

는 varnish 서버 start, stop, restart 할때 사용하고

/etc/sysconfig/varnish

는 varnish 서버 포트 설정이나 기타 설정

/etc/varnish/default.vcl

는 백엔드 서버 Addr나 포트 설정을 한다


물론 다 각각 심화 설정이 있겠지만 추후에 공부하는대로 업데이트 할 예정..

--------------------------------------------------------------------

이제 FreeBSD에 설치..

Hyper-V 에다가 FreeBSD를 설치해서 테스트 하려다가 계속 NetWork 안잡혀서

때려치고 VMWARE Workstation으로 테스트 했다..;;

FreeBSD 버전은 9.2 버전을 사용했다.


역시나 공식홈을에서 FreeBSD 를 살펴보니 간단히 설치가 가능하다..

cd /usr/ports/www/varnish && make install clean

pkg_add -r varnish

하면 끝나는 모양이다..


음..설정파일 위치가 다 다른가보다..

일단 default.vcl 은 /usr/local/etc/varnish

에 있고..

검색을 해보니

http://bin63.com/how-to-install-varnish-cache-on-freebsd

참고해서 써내려간다.


'Server' 카테고리의 다른 글

[Oracle] auto commit error  (0) 2020.07.29
[Kafka] 토픽 삭제 후, 브로커 기동안됨  (0) 2020.06.24
Zookeeper  (0) 2019.12.09
Nginx Service 로 등록  (0) 2014.08.13
Jconsole (톰캣 모니터링,자바 모니터링)  (0) 2014.08.12

댓글()

[RabbitMQ] 튜토리얼 1 "Hello World"

JAVA|2013. 10. 22. 17:38

RabbitMQ는 튜토리얼이 참 쉽게(영어지만..-_-) 적혀있어서..

굳이 해석이나 한글로된게 없나 싶지만..


그래도 정리한다..

P 아이콘은 Producer(메세지 생산자) 아이콘이며 메세지를 생성하는 Client 프로그램 이라고 보면됨..


위의 Queue는 RabbitMQ내에 있는 것으로 메세지가 저장되는 Queue를 나타냄

추후 나타나겠지만 RabbitMQ는 많은 Queue를 가지고 있는 집합이라고 봐도 될듯..

(후에 나올 exchange도 가지고 있지만..)

위의 C아이콘은 Consumer(메세지 사용자) 아이콘이며 메세지를 소비? 가져다 쓰는 프로그램(서버) 이라고 보면 적당할듯..


튜토리얼 1 은 P가 "Hello"메세지를 Queue에 넣어서 C가 가져가서 보도록 하는 프로그램..


자.. 이제 P 부터 만들어보자

아무래도 Main에 짜는게 편하겠지..

public static void main(String[] args) {
    String QUEUE_NAME = "Basic_Queue";
    //큐 이름
    ConnectionFactory cf = new ConnectionFactory();
    //커넥션 팩토리 선언
    cf.setHost("localhost");
    //RabbitMQ 서버(미들웨어) Host 주소 설정
    Connection conn = cf.newConnection();
    //연결하고
    Channel channel = conn.createChannel();
    //채널을 만든다.
    channel.queueDeclare(QUEUE_NAME,false,false,false,null);
    String Message = "Hello World!";
    channel.basicPublish("",QUEUE_NAME,null,Message.getBytes());
    System.out.println("Send : " + Message);
    //(실제 사용할때는 try가 있어야겠지..)
    channel.close();
    conn.close();

}

null이나 false 로 일단 적어둔 설정들은 후에 하나씩 하나씩 설명이 나오니 무시하도록 하고..

일단 이렇게 하면 P 는 생성 끝..



자 이제 C를 만들어 보자.. 거의 비슷하다..



public static void main(String[] args) {
String QUEUE_NAME = "Basic_Queue";
ConnectionFactory cf = new ConnectionFactory();
cf.setHost("localhost");
Connection conn = cf.newConnection();
Channel channel = conn.createChannel();
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
//여기까진 거의 같다
System.out.println("Message 기다리는중");
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(QUEUE_NAME, true, consumer);
String get_message;
while(true){
QueueingConsumery.Deliver delivery = consumer.nextDelivery();
//QueueingConsumer.Delivery 말고 Delivery 만 적어도 되긴하는데..예제는 이러네
get_message = new String(delivery.getBody());
System.out.println(get_message);

}


댓글()

[RabbitMQ] 설치 및 용도

JAVA|2013. 10. 22. 17:14

RabbitMQ 에 대한 글이 별로 없는것 같아서

공부겸 블로그에 적는다

적은 내용이 100% 맞는 이야기는 아니니 틀린 부분은 말해주기 바람


공식 홈 : http://www.rabbitmq.com/


RabbitMQ

미들 웨어 시스템으로

홈페이지에 있는 RabbitMQ Server 를 설치하여 띄우면

메세지를 날리는 클라이언트 프로그램의 메세지를 

RabbitMQ Server(Queue)가 받아 가지고 있다가

메세지를 받는 서버측이 가져가도록 하는 방식


튜토리얼을 돌려봐서 느낀점은

RabbitMQ Server를 미들웨어 위치에 띄우고

Sender와 Receiver를 만들어 사용하면 되는듯..


RabbitMQ Server는 다양한 플러그인을 지원 하는가본데..

사용해본건 'Management' 플러그인~! 각 Queue 에 얼마만큼 데이터가 쌓이고 상태들을 바로바로 확인 가능하기에 참 편하다..

(물론 큐 생성 및 exchange도 확인 및 설정 가능..)


일단 다 WIndow 기반으로만 설치했기에.. 

http://www.rabbitmq.com/download.html

에서 Windows 꺼로 받으면 됨..

Manual 설치하려다가 Erlang 을 설치해야 해서 귀찮아서 결국은 그냥.. 

자동설치로..^^:



댓글()