我在 Windows Azure 上有一个虚拟机。我在虚拟机中安装了 juju。我想在我的虚拟机上部署 wordpress。我在 64 位机器上运行
我已经阅读了这篇关于如何逐步部署 wordpress 的博客:
https://juju.ubuntu.com/get-started/local
但是我的 juju 状态出现错误,如下所示:
machines:
"0":
agent-state: started
agent-version: 1.12.0.1
dns-name: 10.0.3.1
instance-id: localhost
series: precise
"1":
agent-state: started
agent-version: 1.12.0.1
instance-id: azureuser-local-machine-1
instance-state: missing
series: precise
"2":
agent-state: started
agent-version: 1.12.0.1
instance-id: azureuser-local-machine-2
instance-state: missing
series: precise
services:
mysql:
charm: cs:precise/mysql-27
exposed: false
relations:
cluster:
- mysql
db:
- wordpress
units:
mysql/0:
agent-state: error
agent-state-info: 'hook failed: "config-changed"'
agent-version: 1.12.0.1
machine: "1"
public-address: 10.0.3.209
wordpress:
charm: cs:precise/wordpress-16
exposed: true
relations:
db:
- mysql
loadbalancer:
- wordpress
units:
wordpress/0:
agent-state: started
agent-version: 1.12.0.1
machine: "2"
public-address: 10.0.3.174
然后,当我尝试访问具有 IP 10.0.3.174 的公共地址时,我得到了坏网关。
我在 juju status 上创建了:
units:
mysql/0:
agent-state: error
agent-state-info: 'hook failed: "config-changed"'
如何解决这个错误?
答案1
您看到的是 MySQL 配置更改钩子执行过程中发生的错误。这通常是由于以下几种原因造成的
- 魅力虫
- 缺少配置选项
- 钩子执行期间出现“故障”
首先,您需要在调试日志中收集有关当前正在执行的操作的一些信息。在生产环境(如 aws、hpcloud 等)下juju debug-log -n 500
,由于您正在运行本地提供程序,因此它将位于
$HOME/.juju/local/logs/unit-wordpress-0.log
$HOME/.juju/local/logs/unit-mysql-0.log
日志文件的格式相当简单,如果您需要额外的帮助来解析它们,请将其上传到 paste.ubuntu.com,我们可以在 IRC 上的 #Juju 中查看日志或更新问题。
通常,当由于极端情况或竞争条件而遇到错误时,您可以通过运行来解决错误并重试钩子执行juju resolved -r <service>/<unit>
因此,在您的 mysql 挂钩失败的示例中,juju resolved -r mysql/0
将重新运行失败的挂钩,如果它成功完成,则服务将继续部署。