ラビットMQの取り付け
7983 ワード
erlangをインストールインストール依存度: インストールパッケージをダウンロードします。http://www.erlang.org/downloads/ は、解凍後のインストールパッケージに入り、 を実行する。コンパイルインストール:make&make install ラビットMQの取り付けインストールPython: インストール依存xmlto: インストール依存simplejson: インストールパッケージをダウンロードします。https://www.rabbitmq.com/install-generic-unix.html 解凍RabbiitMQ圧縮パケット: は解凍したファイルを/usr/localディレクトリの下にmoveします。私がデフォルトでインストールしたソフトウェアは全部このディレクトリの下にあります。 は、ラビットMQをオープンします。 を実行します。ラビットMQを閉じます。 を実行します。ポートの状態を確認する: Mac OSでは、 を引き継ぐことができます。プロセス情報を表示する: インストールに問題があります。エランを見つけられなかった時に発生したエラー:rabitmq-server:line 187:erl:command not found,解決方法:rabitmq-serverファイルの187行に を追加しました。エランを見つけられなかった時に発生したエラー:rabitmq-env:line 415:exec:erl:not found,解決方法は1と同じで、rabitmq-envファイルの415行にerlangプロファイル を追加します。うまく接続できなかったエラー: もし接続できなかったら、ファイアウォールが5672ポートを開いているかどうかを確認します。もし開けていないなら、以下の操作を実行します。
yum install ncurses-devl
./configure --prefix=/usr/local/erlang/ --without-javac
yum install python -y
yum install xmlto
yum install simplejson
xz -d tar zxvf
コマンドを使用して前後解凍mv /usr/local/rabbitmq
/usr/local/rabbitmq/sbin
のディレクトリに入り、./rabbitmq-server &
/usr/local/rabbitmq/sbin
のディレクトリに入り、./rabbitmqctl stop
netstat -anp | grep 5672
sudo lsof -nP -iTCP: -sTCP:LISTEN
を使ってポートの状態を確認します。nはホスト名を表示しないことを表しています。-Pはポートの俗称を表示しないことを示しています。sudoを追加しないと、現在のユーザが実行しているプログラムを見ることができます。後にドススーlsof -nP -iTCP grep ‘8080’
ps -ef | grep rabbit
ERLANG_HOME=/usr/local/erlang21
export PATH=$PATH:$ERLANG_HOME/bin
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
、Spring BootとRabbiitMQを統合する時、以下のように設定されている接続ユーザはgustで、gustはリモート接続できないので、プロファイルを追加します。spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
/usr/local/rabbitmq/etc/rabbitmq
ディレクトリの下に、rabbitmq.com figという設定ファイルを作成してください。中に記入してください。[{rabbit, [{loopback_users, []}]}].
sudo vim /etc/sysconfig/iptables
## rabbitMQ 5672
-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
#
sudo service iptables restart
テストラビットMQ//
@Configuration
public class MQConfig {
public static final String QUEUE = "queue";
@Bean
public Queue queue() {
return new Queue(QUEUE, true);
}
}
//
@Service
public class MQSender {
@Autowired
AmqpTemplate amqpTemplate;
public void send(Object message) {
String msg = RedisService.beanToString(message);
log.info("send message:" + msg);
amqpTemplate.convertAndSend(MQConfig.QUEUE, msg);
}
}
//
@Service
public class MQReceiver {
@RabbitListener(queues = MQConfig.QUEUE)
public void receive(String message) {
log.info("receive message:" + message);
}
}
//
@RequestMapping("/rabbitmq")
@ResponseBody
public void rabbitmq() {
mqSender.send("hello,dazou");
}
2019-04-14 16:51:51.545 INFO 13609 --- [nio-8080-exec-1] com.dazou.miaosha.rabbitmq.MQSender : send message:hello,dazou
2019-04-14 16:51:51.593 INFO 13609 --- [cTaskExecutor-4] com.dazou.miaosha.rabbitmq.MQReceiver : receive message:hello,dazou