broker-installation.rst 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. .. _broker-installation:
  2. =====================
  3. Broker Installation
  4. =====================
  5. .. contents::
  6. :local:
  7. .. _installing-rabbitmq:
  8. Installing RabbitMQ
  9. ===================
  10. See `Installing RabbitMQ`_ over at RabbitMQ's website. For Mac OS X
  11. see `Installing RabbitMQ on OS X`_.
  12. .. _`Installing RabbitMQ`: http://www.rabbitmq.com/install.html
  13. .. _rabbitmq-configuration:
  14. Setting up RabbitMQ
  15. ===================
  16. To use celery we need to create a RabbitMQ user, a virtual host and
  17. allow that user access to that virtual host::
  18. $ rabbitmqctl add_user myuser mypassword
  19. $ rabbitmqctl add_vhost myvhost
  20. $ rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"
  21. See the RabbitMQ `Admin Guide`_ for more information about `access control`_.
  22. .. _`Admin Guide`: http://www.rabbitmq.com/admin-guide.html
  23. .. _`access control`: http://www.rabbitmq.com/admin-guide.html#access-control
  24. .. _rabbitmq-osx-installation:
  25. Installing RabbitMQ on OS X
  26. ===========================
  27. The easiest way to install RabbitMQ on Snow Leopard is using `Homebrew`_; the new
  28. and shiny package management system for OS X.
  29. In this example we'll install homebrew into ``/lol``, but you can
  30. choose whichever destination, even in your home directory if you want, as one of
  31. the strengths of homebrew is that it's relocateable.
  32. Homebrew is actually a `git`_ repository, so to install homebrew, you first need to
  33. install git. Download and install from the disk image at
  34. http://code.google.com/p/git-osx-installer/downloads/list?can=3
  35. When git is installed you can finally clone the repo, storing it at the
  36. ``/lol`` location::
  37. $ git clone git://github.com/mxcl/homebrew /lol
  38. Brew comes with a simple utility called :program:`brew`, used to install, remove and
  39. query packages. To use it you first have to add it to :envvar:`PATH`, by
  40. adding the following line to the end of your ``~/.profile``::
  41. export PATH="/lol/bin:/lol/sbin:$PATH"
  42. Save your profile and reload it::
  43. $ source ~/.profile
  44. Finally, we can install rabbitmq using :program:`brew`::
  45. $ brew install rabbitmq
  46. .. _`Homebrew`: http://github.com/mxcl/homebrew/
  47. .. _`git`: http://git-scm.org
  48. .. _rabbitmq-osx-system-hostname:
  49. Configuring the system hostname
  50. -------------------------------
  51. If you're using a DHCP server that is giving you a random hostname, you need
  52. to permanently configure the hostname. This is because RabbitMQ uses the hostname
  53. to communicate with nodes.
  54. Use the :program:`scutil` command to permanently set your hostname::
  55. sudo scutil --set HostName myhost.local
  56. Then add that hostname to ``/etc/hosts`` so it's possible to resolve it
  57. back into an IP address::
  58. 127.0.0.1 localhost myhost myhost.local
  59. If you start the rabbitmq server, your rabbit node should now be ``rabbit@myhost``,
  60. as verified by :program:`rabbitmqctl`::
  61. $ sudo rabbitmqctl status
  62. Status of node rabbit@myhost ...
  63. [{running_applications,[{rabbit,"RabbitMQ","1.7.1"},
  64. {mnesia,"MNESIA CXC 138 12","4.4.12"},
  65. {os_mon,"CPO CXC 138 46","2.2.4"},
  66. {sasl,"SASL CXC 138 11","2.1.8"},
  67. {stdlib,"ERTS CXC 138 10","1.16.4"},
  68. {kernel,"ERTS CXC 138 10","2.13.4"}]},
  69. {nodes,[rabbit@myhost]},
  70. {running_nodes,[rabbit@myhost]}]
  71. ...done.
  72. This is especially important if your DHCP server gives you a hostname
  73. starting with an IP address, (e.g. ``23.10.112.31.comcast.net``), because
  74. then RabbitMQ will try to use ``rabbit@23``, which is an illegal hostname.
  75. .. _rabbitmq-osx-start-stop:
  76. Starting/Stopping the RabbitMQ server
  77. -------------------------------------
  78. To start the server::
  79. $ sudo rabbitmq-server
  80. you can also run it in the background by adding the :option:`-detached` option
  81. (note: only one dash)::
  82. $ sudo rabbitmq-server -detached
  83. Never use :program:`kill` to stop the RabbitMQ server, but rather use the
  84. :program:`rabbitmqctl` command::
  85. $ sudo rabbitmqctl stop
  86. When the server is running, you can continue reading `Setting up RabbitMQ`_.