Rabbitmq
rabbitmq-plugins list
systemctl enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins list
netstat -utlnp | grep 56
systemctl status firewalld.service
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
import pika
# 创建一个到RabbitMQ server的连接,如果连接的不是本机,
# 则在pika.ConnectionParameters中传入具体的ip和port即可
connection = pika.BlockingConnection(
pika.ConnectionParameters('localhost'))
# 创建一个channel
channel = connection.channel()
# 创建队列,queue_declare可以使用任意次数,
# 如果指定的queue不存在,则会创建一个queue,如果已经存在,
# 则不会做其他动作,官方推荐,每次使用时都可以加上这句
channel.queue_declare(queue='hello')
# 发布消息
channel.basic_publish(
exchange='', # RabbitMQ中所有的消息都要先通过交换机,空字符串表示使用默认的交换机
routing_key='hello', # 指定消息要发送到哪个queue
body='Hello world!') # 消息的内容
print("「x]Sent 'Hello world!'")
# 关闭连接
connection.close()
import pika
def main():
# 创建一个到RabbitMQ server的连接,如果连接的不是本机,
# 则在pika.ConnectionParameters中传入具体的ip和port即可
connection = pika.BlockingConnection(
pika.ConnectionParameters('localhost'))
# 创建一个channel
channel = connection.channel()
# 创建队列,queue_declare可以使用任意次数,
# 如果指定的queue不存在,则会创建一个queue,如果已经存在,
# 则不会做其他动作,官方推荐,每次使用时都可以加上这句
channel.queue_declare(queue='hello')
# 定义消息处理程序
def callback(ch, method, properties, body):
print('[x] Received %r' % body)
# 接收来自指定queue的消息
channel.basic_consume(
queue='hello', # 接收指定queue的消息
on_message_callback=callback, # 接收到消息后的处理程序
auto_ack=True) # 指定为True,表示消息接收到后自动给消息发送方回复确认,已收到消息
print('[*] Waiting for message.')
# 开始循环等待,一直处于等待接收消息的状态
channel.start_consuming()
if __name__ == '__main__':
main()
Keystone
身份认证、授权和端点服务。
Domain
查看域
openstack domain list
创建域
openstack domain create domain0423
创建项目(关联域)
openstack project create project0423 --domain domain0423
创建用户
openstack user create hds0423 --domain domain0423 --project project0423 --password 1
关联角色
openstack role add --domain domain0423 --project project0423 --user hds0423 admin
报错原因:域和项目不能同时存在。因为项目创建的时候已经指定了域。所以现在项目和域是关联的,所以现在去掉domain,然后把项目名称和用户名称换成对应ID。
[root@controller ~(keystone_admin)]# openstack role add --project 31d4fbf903ba4a20b986e355cad01264 --user eca85418fa344169874bf9a1ac89dab1 admin
环境搭建的时候默认是没有启用多域登录的能力的,现在修改配置文件,让其支持多域登录。
开启多域登录
[root@controller ~(keystone_admin)]# vim /etc/openstack-dashboard/local_settings
修改完成后,重启HTTPD服务。
[root@controller ~(keystone_admin)]# systemctl restart httpd.service
登录成功