【问题标题】:LAMP stack with apache and php on one linux server and mysql on a different linux serverLAMP 堆栈与 apache 和 php 在一个 linux 服务器上和 mysql 在不同的 linux 服务器上
【发布时间】:2016-03-03 02:42:30
【问题描述】:

我对 linux 和 LAMP 设置非常陌生。我想在一台 linux 服务器上设置一个带有 AP 的 LAMP 环境,在另一台 linux 服务器上设置 M。我很难找到具有这种配置的相关文档。

到目前为止,我已经完成了以下步骤:

服务器1:

yum install -y httpd
/sbin/service httpd restart
yum install -y php php-mysql
sed -i "s/Listen 80/#Listen 80/g" /etc/httpd/conf/httpd.conf
yum install -y mod_ssl openssl
/sbin/service httpd restart
service iptables stop

我将 /etc/httpd/conf/httpd.conf 中的 ServerName 更改为

#ServerName www.example.com:80

ServerName 172.32.35.14 (ip address of server1)
/sbin/service httpd restart

服务器2:

yum install -y mysql-libs
yum install -y mysql
yum install -y perl-DBI
yum install -y perl-DBD-MySQL
yum install -y mysql-server
/sbin/chkconfig mysqld on
/sbin/service mysqld start
mysql -u root  -e "CREATE USER 'mysqluser' IDENTIFIED by 'password'" 
mysql -u root  -e "CREATE USER 'mysqluser'@'localhost' IDENTIFIED by 'password'"
mysql -u root  -e "GRANT ALL PRIVILEGES ON *.* TO 'mysqluser'@'localhost' WITH GRANT OPTION"
mysql -u root  -e "GRANT ALL PRIVILEGES ON *.* TO 'mysqluser'@'%' WITH GRANT OPTION"
mysql -u mysqluser -p password -e "CREATE DATABASE mysqldb" 
mysql -u mysqluser -p password mysqldb < /tmp/mysqlinstaller/world.sql
service iptables stop

然后我有这些后期配置步骤:

在安装了我的 mysql 的服务器 2 上,我执行了以下操作:

bind-address = 172.32.35.14 (ip of server 1 where apache/php are installed)
service mysql restart

但我无法建立连接。您能否指出我所缺少的并请指导我。

【问题讨论】:

  • 您确定没有与 iptables 相关的阻塞吗?另外,试试serverfaults
  • 是的...我检查过..肯定没有与 iptables 相关的阻塞...
  • 我在重新启动 mysqld 时看到以下错误 - service mysqld restart Stopping mysqld: [ OK ] MySQL Daemon failed to start。启动 mysqld:[失败]
  • 我什至无法访问我的 apache 服务器...我尝试了 172.17.50.23...它只是说加载页面问题...好像我错过了什么

标签: php mysql linux apache lamp


【解决方案1】:

好的,有几件事可能对您有所帮助:

  1. 我不认为ServerName 正在做你期望的事情。请查看docs。 TLDR:我认为您无需根据需要对其进行修改。
  2. bind-address 实际上是 MySQL 服务器将自己绑定到侦听的地址,因此您不希望它侦听 server1 的 IP,而是侦听服务器 2 的 IP 地址。这很可能是原因为什么你的 MySQL 无法启动。如果您使用的是较旧的 MySQL 版本,请确保您已将 skip_networking 选项注释掉。
  3. 创建用户后别忘了FLUSH PRIVILEGES

现在有几个问题:

  1. 您能否确认您在服务器 1 上安装了 apache 和 PHP?
  2. 完成我的建议的第 2 步后,您能否确认您已在服务器 2 上启动并运行 mysql 服务器?

由于这可能需要一些沟通,我会在我们进行时更新答案。

编辑

到目前为止,我们已经在 server2 上启动并运行了 MySQL,在 server1 上启动并运行了 apache 和 PHP。尝试从主机访问 server1 时出现问题,但我们稍后会处理这个问题。现在让我们确保我们可以从 PHP 连接到 server2 上的 MySQL。

您能否在mysqldb 中创建一个表,在其中插入几行,然后尝试从 server1 上的 PHP 脚本中检索这些行? 现在继续通过 lynx 从 server1 访问页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 2016-04-20
    • 2017-07-17
    • 2010-09-15
    • 2014-11-01
    • 1970-01-01
    相关资源
    最近更新 更多