将 Listen 3050 添加到 /etc/apache2/ports.conf 导致 mysql 崩溃

将 Listen 3050 添加到 /etc/apache2/ports.conf 导致 mysql 崩溃

我正在尝试在本地 PC 上的虚拟机上设置暂存服务器。已安装 Ubuntu 10.4.2 LTS 64 位服务器。我在同一台机器上还有另一台虚拟机作为全职服务器运行,因此我在路由器上设置了端口转发,以将 3060 上的 ssh 和 3050 上的 http 发送到此虚拟机的内部 IP 地址 (192.68.1.13)。我正在开发 rails 3 应用程序,并使用 deprec 和 capistrano 来自动执行安装和部署。

作为第一步,我让进程通过 prt 3060 运行 ssh,但我将 apache 留在端口 80 上。当我将浏览器指向 192.168.1.13 时,它运行良好。然后,我将“Listen 3050”行添加到我的 /etc/apache2/ports.conf 文件中:

Listen 80
Listen 3050

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

重启虚拟机后,尝试重新连接浏览器后,网页只显示 rails 错误消息。检查 production.log 显示以下错误:

Mysql2::Error(无法通过套接字‘/var/run/mysqld/mysqld.sock’连接到本地 MySQL 服务器(2)):

[这里][1] 的一些好的提示帮助我意识到 mysql 服务器没有运行。

然后我跑了:

sudo mysqld-详细

它向我显示有一个未知的选项“skip-bdb”导致mysql崩溃。

检查 my.conf 发现该选项已在此处设置。我将其注释掉,然后就可以成功启动 mysqld。rails 应用程序也恢复正常运行。

有人能帮我找出为什么在 /etc/apache2/ports.conf 中添加一行会导致 mysql 因此选项而出错吗?此外,使用 deprec,您有机会在本地设置 apache-vhost 文件并在部署时上传它。如果我在那里添加了 *:3050,它还会阻止 mysql 在自动部署期间启动,从而导致整个安装崩溃。我猜这些问题是相关的。

谢谢,乔恩

答案1

Apache 问题和 MySQL 问题没有直接关系。skip-bdb文件中的 可能是输入错误skip-ndb,而 是一个有效的配置选项。

在某个时候,该my.cnf文件被错误配置修改了(您的自动部署是否使用无效设置覆盖了此文件?这也可以解释为什么您的部署失败),但是直到您为 Apache 更改重新启动服务时才出现问题,这使得问题看起来是相关的。

找到错误设置的来源并进行修复。

相关内容