
# 创建RabbitMQ Vhost
每个Vhost（Virtual Hosts）相当于一个相对独立的RabbitMQ服务器。Vhost用作逻辑隔离，分别管理Exchange、Queue和Binding，使得应用安全地运行在不同的Vhost上，相互之间不会干扰。一个实例下可以有多个Vhost，一个Vhost里可以有若干个Exchange和Queue。生产者和消费者连接RabbitMQ实例时，需要指定一个Vhost。Vhost的相关介绍，请参考官网文档[Virtual Hosts](https://www.rabbitmq.com/vhosts.html)。
图1Vhost架构图   
![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001990207613.png)
 #### 约束与限制
表1约束限制 
| 版本号        | 约束限制                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| 3.x.x      | - 实例创建后，会自动创建一个名为"/"的Vhost。  - Vhost名称以特殊字符开头，例如点号"."，可能会导致监控数据无法显示。  - Vhost名称包含特殊字符"%"、"\|"、"/"、"."、"-"，会导致Vhost名称与监控页面不一致，在监控页面中这些特殊字符会以"_"显示。例如：Vhost名称为Vhost.1%1\|2-3/，此时监控中显示的Vhost名称为"Vhost_1_1_2_3_"。如果特殊字符在监控中显示为"_"后的Vhost名称相同，相同Vhost名称的监控数据会重合。  - 在云监控中特殊字符"."按5个字符计算长度。如果队列名称或Vhost名称包含"."，且经此规则计算后的总长度超过256个字符，可能会导致监控数据无法显示。  - 支持通过控制台和WebUI创建Vhost。   |
| AMQP-0-9-1 | - 实例创建后，会自动创建一个名为"default"的Vhost。  - Vhost名称包含特殊字符"%"、"\|"、"/"、"."、"-"，会导致Vhost名称与监控页面不一致，在监控页面中这些特殊字符会以"_"显示。例如：Vhost名称为Vhost.1%1\|2-3/，此时监控中显示的Vhost名称为"Vhost_1_1_2_3_"。如果特殊字符在监控中显示为"_"后的Vhost名称相同，相同Vhost名称的监控数据会重合。  - 仅支持在控制台创建Vhost。                                                                                                                                                                                                                                                                                |
   
#### 创建RabbitMQ Vhost
您可以在控制台创建Vhost，也可以在WebUI创建Vhost。
- [创建RabbitMQ Vhost（控制台）]
  1. 登录[RabbitMQ控制台](https://console.huaweicloud.com/dms/?engine=rabbitMQ&locale=zh-cn#/queue/manager/newRabbitMQList)。
  
  2. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0143929918.png)，选择RabbitMQ实例所在的区域。
  
  3. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001143589128.png)，选择"应用服务 \> 分布式消息服务 RabbitMQ"，进入RabbitMQ实例列表页面。
  
  4. 单击实例名称，进入实例概览页面。
  
  5. 在左侧导航栏选择"实例管理 \> Vhost列表"，进入Vhost列表页面。
  
  6. 单击"创建Vhost"，弹出"创建Vhost"对话框。
  
  7. 设置Vhost的名称，单击"确定"。 
     表2Vhost名称规则 
     | 版本号        | Vhost名称规则                                                              |
     |:---|:---|
     | 3.x.x      | 只能由英文字母、数字、点、百分号、竖线、中划线、下划线、斜杠组成，长度2\~128字符，且名称不能为".."。                |
     | AMQP-0-9-1 | 只能由英文字母、数字、点、百分号、竖线、中划线、下划线、斜杠组成，长度2\~32字符（每个特殊字符按3个字符计算长度），名称不能为".."。 |
        
     Vhost创建成功后，无法修改名称，在Vhost列表页面显示创建成功的Vhost。
     "Tracing"表示是否开启消息追踪功能，仅RabbitMQ 3.x.x版本支持。开启消息追踪后，您可以跟踪消息的转发路径。
     图2Vhost列表（RabbitMQ 3.x.x版本）   
     ![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000002491444062.png "点击放大")
     图3Vhost列表（RabbitMQ AMQP-0-9-1版本）   
     ![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001874849989.png "点击放大")
     
     
   
- [创建RabbitMQ Vhost（RabbitMQ WebUI）]
  1. 登录[RabbitMQ WebUI](https://support.huaweicloud.com/usermanual-rabbitmq/rabbitmq-ug-180801003.html)。
  
  2. 在顶部导航栏选择"Admin"，进入Admin页面。
  
  3. 在右侧导航栏选择"Virtual Hosts"，进入Virtual Hosts页面。 
     图4Virtual Hosts   
     ![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001493949373.png "点击放大")
     
     
  
  4. 在"Add a new virtual host"区域，输入Vhost名称，单击"Add virtual host"。 
     图5创建Vhost（WebUI）   
     ![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001494189485.png)
     创建成功后，在"All virtual hosts"区域，显示创建成功的Vhost。
     图6Vhost列表（WebUI）   
     ![](https://support.huaweicloud.com/usermanual-rabbitmq/zh-cn_image_0000001443749464.png "点击放大")
     
     
   
#### 相关文档
如果您希望通过API创建Vhost，请参考[创建Vhost](https://support.huaweicloud.com/api-rabbitmq/CreateVhost.html)。
