在 Oracle® Solaris 中安装和配置 OpenStack (Kilo)

退出打印视图

更新时间: 2016 年 6 月
 
 

与 Horizon 相关的问题

在启动 VM 实例后,Horizon 系统信息显示板可能无法访问并且会显示 404 Not Found 错误消息。Apache 服务的日志将包含以下条目:

Oct 13  16:13:53  Executing start method (" /lib/svc/method/http-apache24 start"). ]
Apache version is 2.4
(125) Address already in use: AH000/2: make_sock: could not bind to address [::]:80
Oct 13  16:13:55 Method "start" exited with status 0. ]

该日志指示无法将地址绑定到端口 80,因为该端口正忙。

从 Kilo 版本开始,OpenStack 使用 Apache 2.4,而非以前的 OpenStack 版本的 Apache 2.2。确保正确的 Apache 版本已启用且在该端口上侦听。

要释放该端口,请执行以下步骤:

  1. 获取当前在该端口上侦听的进程 ID。

    # netstat -uan -f inet | grep "*.80"

    此过程假定设置使用 IPv4 地址并且占有端口 80 的进程正在所有这些地址上侦听。如果进程在侦听 IPv6 通信,则此命令可能不会提供任何结果。

  2. 根据进程 ID,识别实际进程或服务。您可以使用以下命令之一:

    # svcs -p | egrep "online|pid http" | ggrep -B1 pid

    或者

    # ps -lf -p pid
  3. 如果错误的 Apache 版本正在使用该端口,请禁用该服务。

  4. 为 Kilo 版本启用正确的 Apache 版本。

    如果正确的 Apache 版本处于维护模式,则在启用服务前请先清除服务。

以下示例展示了如何释放端口 80 并切换到正确的 Apache 版本。

# netstat -uan -f inet | grep "*.80"
*.80       *.*     root         5560 httpd     0     0  128000     0 LISTEN
*.8080     *.*     webservd     1124 java      0     0  128000     0 LISTEN
*.8009     *.*     webservd     1124 java      0     0  128000     0 LISTEN

# svcs -p | egrep "online|5560 http" | ggrep -B1 5560
online     Aug_31   svc:/network/http:apache22
           Sep_09   5560 httpd

# svcadm disable apache22
# svcadm clear apache24
# svcadm enable apache24