레이블이 rabbitmq인 게시물을 표시합니다. 모든 게시물 표시
레이블이 rabbitmq인 게시물을 표시합니다. 모든 게시물 표시

2015년 9월 15일 화요일

디지탈오션에 서버 셋팅기 (centos 6.7)


친구랑 개발하는 간단한 쪽지앱의 서버로 사용할 서버를 구축했다.
물론 나는 잘 모른다 모든건 다 구글을 통해..

1. SWAP 메모리 할당
참고) https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-6

dd if=/dev/zero of=/swapfile bs=1024 count=2048k
mkswap /swapfile
swapon /swapfile
chown root:root /swapfile 
chmod 0600 /swapfile


아래 내용을 /etc/fstab 에 붙인다.

/swapfile          swap            swap    defaults        0 0



2. 서버 시간을 KST 로 바꿈 & rdate 설치

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
yum install rdate



3. java 1.7설치 rpm
http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
위에서 64비트 linux용으로 다운받는다.

rpm -ivh jre-7u80-linux-x64.rpm


4. 위와 같은 방법으로 rabbitMQ 서버도 설치

rpm -ivh erlang-17.4-1.el6.x86_64.rpm
rpm -ivh rabbitmq-server-3.4.4-1.noarch.rpm


/etc/rabbitmq/rabbitmq-env.conf 파일 만들고 nodename 지정

NODENAME=samplenode


관리자 페이지 플러그인 활성화 & 서버 시작

rabbitmq-plugins enable rabbitmq_management
rabbitmq-server -detached




사용자 추가, id/pwd 지정하기 권한 주기
참고) https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#

rabbitmqctl add_user {username} {password} 
rabbitmqctl set_user_tags {username} administrator 


http://hostname:15672/ 에 접속하여 admin메뉴에서 guest 계정 삭제
신규 worker 계정 추가


5. tomcat 7 설치
tar 다운로드 하여 /usr/local/ 에 압축을 풀고.

ln -s apache-tomcat-7.0.57 tomcat


6. mariadb 설치
http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_MariaDB_%EC%84%A4%EC%B9%98 참고
아래 파일을 생성하고 내용을 작성
/etc/yum.repos.d/MariaDB.repoMariaDB.repo


[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1



yum install MariaDB-server MariaDB-client

#나중에 추가됨 (기본 설정 파일 적용)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf


7. apache 설치

yum install httpd
yum install mod_ssl


8. iptables 설정
아래 좋은 글이 있어 참고하여 아래와 같이 작성 했다.
출처) http://webdir.tistory.com/170


#!/bin/bash
# iptables 설정 자동화 스크립트
# 입맛에 따라 수정해서 사용합시다.
iptables -F

# TCP 포트 22번을 SSH 접속을 위해 허용
# 원격 접속을 위해 먼저 설정합니다
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

# 기본 정책을 설정합니다
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# localhost 접속 허용
iptables -A INPUT -i lo -j ACCEPT

# established and related 접속을 허용
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 기타 사용하는 포트 허용
# -s sourceIP 를 추가 하여 특정 아이피만 가능하도록 할 수 있다.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 15672 -j ACCEPT

# 설정을 저장
/sbin/service iptables save

# 설정한 내용을 출력
iptables -L -v

2015년 3월 10일 화요일

spring-rabbitmq 연동

설치는 그냥 rpm 으로 설치

# 서버 시작.
sbin/rabbitmq-server start

# 서버 중지
sbin/rabbitmqctl stop




--- spring-rabbit 연동 pom.xml


  org.springframework.amqp
  spring-rabbit
  1.4.1.RELEASE




context-rabbitmq.xml














    





MqService.java

@Service
public class MqService implements MessageListener {
    private static final Logger logger = LoggerFactory.getLogger(MqService.class);
    private static final String TASK_QUEUE_NAME = "simple_queue";

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void send(String message) throws IOException {
        rabbitTemplate.convertAndSend(TASK_QUEUE_NAME, message);

        logger.info("send message={}", message);
    }

    @Override
    public void onMessage(Message message) {
        String msg = null;
        try {
            msg = new String(message.getBody(), "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        logger.info("recv message=" + msg );
    }
}