如何在端口8080上启动rabbitmq服务器

时间:2012-07-24 11:46:39

标签: java rabbitmq

我无法在8080上启动rabbitmq。我怎么能这样做?我也无法在ubuntu上找到rabbitmq.conf。请帮助我。

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setPort(8080);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String message = "Hello World!";
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();

我在运行时遇到这些错误:

Exception in thread "main" java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at com.rabbitmq.client.ConnectionFactory.createFrameHandler(ConnectionFactory.java:445)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:504)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:533)
    at javaapplication3.rabbitchat.main(rabbitchat.java:26)

5 个答案:

答案 0 :(得分:4)

您可以使用以下命令在端口8080上启动rabbitmq服务:

:~$ RABBITMQ_NODE_PORT=8080 rabbitmq-server

默认情况下,如果未在开始时配置,则第一个实例的节点名称为“rabbit”。如果您想使用不同的NODENAME或多个rabbitmq服务器实例启动rabbitmq服务进行群集,则需要为每个开始的实例更改NODENAME以及NODE_PORT:< / p>

:~$ RABBITMQ_NODE_PORT=<PORT> RABBITMQ_NODENAME=<UNIQUE_NODENAME> rabbitmq-server

答案 1 :(得分:1)

您确定端口8080上没有其他进程正在运行吗?这是一个非常受欢迎的港口。 (Oracle使用它,许多应用程序服务器等)

答案 2 :(得分:1)

如果有人仍然感兴趣,当我使用推荐“setPort”时,我收到“连接被拒绝”错误,。当我评论出来时,它有效!

我也有输出端口#的代码,它说它设置为8080虽然我把setPort(8080)拿出来......非常奇怪......

答案 3 :(得分:0)

Rabbitmq.conf文件通常不附带aptm版本的Rabbitmq,但Rabbit总是在启动时查找该文件,因此您可以手动创建它。 http://www.rabbitmq.com/configure.html#configuration-file

正如Kurt Du Bois所说,确保该端口上没有其他任何内容正在运行,运行netstat -anlp | grep 8080应该会向您提供该信息。

答案 4 :(得分:0)

Oracle将在8080端口上运行。所以如果你需要在8080上运行rabbitmq,请停止Oracle服务。