用于Web托管文件和数据库的AWS CentOS 6.5 Instance + AWS EBS卷?

时间:2014-04-25 14:53:32

标签: mysql amazon-web-services amazon-ec2 centos mount

我有一个运行CentOS 6.5的AWS实例。它已被更新,保护和设置为Web托管(LAMP)。我将EBS卷附加到实例并将其安装在/data下。

两个问题:

  1. 如何让MySQL使用/data目录作为其数据库存储位置? (我不想从/data目录运行程序,只需将.sql文件放在那里。

  2. 我如何为我的网站做同样的事情?我计划运行一个wordpress站点,它的当前位置在/var/www/html目录中。我想将其更改为/data/site

  3. 我希望将网站文件和数据库保存在单独的卷上:/data。如果我的实例是腐败或无法访问,我可以将EBS卷附加到新实例。

    我已经阅读了很多关于如何将MySQL移动到不同目录的教程和文章,但没有任何工作。 MySQL拒绝启动。我可以按原样安装MySQL,但是让它在不同的目录上读/写数据库,例如/data这是一个挂载的EBS卷,或者这根本不可能用于linux?

    以下是我一直关注/测试的一些教程和文章:

    aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1

    spruce.it/noise/setting-up-a-proper-lamp-stack-on-aws-ec2-ebs/

    编辑: 这就是我在做的事。

    1. 使用此ami创建新实例:https://aws.amazon.com/marketplace/pp/B00IOYDTV6?ref=cns_srchrow

    2. 实例启动后,我使用以下命令运行更新:sudo yum update -y

    3. 更新了一个,我使用这些说明将其设置为LAMP Web服务器:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html 除上述步骤外,我还允许内置防火墙上的端口80 tcp连接。我运行这些命令:sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPTsudo service iptables save 完成后,我在http://IP-ADDRESS测试我的网站(这显示了我的Apache测试页)

    4. 安装LAMP后,运行以下命令安装MySQL服务器:yum install mysql-server 安装完成后,我继续执行#34;保护MySQL服务器"关于以前亚马逊文档的说明。

    5. 接下来,我使用以下两个教程安装PHPMyAdmin:http://tecadmin.net/installing-apache-mysql-php-on-centos-redhat/#http://tecadmin.net/how-to-install-phpmyadmin-on-centos-using-yum/

    6. 此时,我有一个功能齐全的网络服务器。现在,我想使用AWS EBS卷来存储所有数据库和网站文件。首先,我附加新创建的AWS EBS卷。我使用本教程来执行此操作:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

    7. 这就是问题的开始。 使用本教程中的信息:aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1。它说FAILED。

1 个答案:

答案 0 :(得分:0)

因此,您可以做的一件事就是避免复制所有目录。您需要确保正确设置所有权限才能使其正常工作:

  • mysql dat目录:

    mv /var/lib/mysql /var/lib/mysql.orig
    mkdir -p /<your-new-ebs-mountpoint>/var/lib/mysql
    chown mysql.mysql /<your-new-ebs-mountpoint>/var/lib/mysql
    chmod 700 /<your-new-ebs-mountpoint>/var/lib/mysql
    
  • 等配置:

    mkdir -p /<your-new-ebs-mountpoint>/etc
    cp /etc/my.cnf /<your-new-ebs-mountpoint>/etc/my.cnf
    mv /etc/my.cnf /etc/my.cnf.orig
    ln -s /<your-new-ebs-mountpoint>/etc/my.cnf /etc/my.cnf
    
  • 日志:

    mkdir -p /<your-new-ebs-mountpoint>/var/log
    mv /var/log/mysqld.log /var/log/mysqld.log.orig
    touch /<your-new-ebs-mountpoint>/var/log/mysqld.log
    chown mysql.mysql /<your-new-ebs-mountpoint>/var/log/mysqld.log
    chmod 640 /<your-new-ebs-mountpoint>/var/log/mysqld.log
    ln -s /<your-new-ebs-mountpoint>/var/log/mysqld.log /var/log/mysqld.log