如何在单个UbuntuVPS上设置多个WordPress站点

来自菜鸟教程
跳转至:导航、​搜索


状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


介绍

WordPress 是一种流行的 CMS(内容管理系统),可以帮助您快速轻松地启动您的网站。 有时,您需要在同一台服务器上托管多个不相关的站点。

本指南将介绍如何在一个 VPS 上托管两个单独的 WordPress 实例。 他们每个人都有自己的域名。 这与 设置多站点 不同。

我们将通过使用虚拟主机来实现这一点。 本指南将使用 Ubuntu 12.04 VPS 服务器,但其他发行版应以类似方式运行。

先决条件

本指南的一些要求在我们的其他一些文章中进行了深入介绍。 在开始之前,请确保您已完成以下操作:

此时,您应该在 Ubuntu 上安装了 LAMP,并且您的两个域名都应该指向您的 droplet。

通过在 Web 浏览器中访问您的域名来确保是这种情况。 两个域都应该为您提供相同的默认 Apache 索引页面:

如果您的域没有指向此页面,那么您需要等待 DNS 更改传播,或者您在前面的步骤中配置错误。 在解决此问题之前不要继续。

下载 WordPress

准备好后,登录您的服务器并切换到您的主目录。 我们将在此处下载文件:

cd
wget http://wordpress.org/latest.tar.gz

通过发出以下命令解压缩存档文件:

tar xzvf latest.tar.gz

创建站点数据库和用户

在继续之前,我们需要为 MySQL 中的每个站点配置一个独立的数据库和用户。 这将确保站点数据是独立的。

为本指南的目的,我们将使用以下信息:

站点名称 第一网站 secondsite.com
数据库名称 第一数据库 第二数据库
数据库用户 第一用户 第二用户
数据库密码 第一密码 第二密码

提供上表是为了为您提供我们将使用的命令的上下文。 填写以下命令时,请替换您自己的信息。

使用您在 MySQL 安装期间配置的管理员帐户登录 MySQL:

mysql -u root -p

系统将提示您输入 MySQL 根密码,然后您将进入 MySQL 提示符。

使用以下命令创建两个数据库:

CREATE DATABASE FirstDatabase;
CREATE DATABASE SecondDatabase;

创建将与每个数据库关联的用户:

CREATE USER FirstUser@localhost;
CREATE USER SecondUser@localhost;

接下来,为每个帐户设置密码访问权限:

SET PASSWORD FOR FirstUser@localhost= PASSWORD("FirstPassword");
SET PASSWORD FOR SecondUser@localhost= PASSWORD("SecondPassword");

通过向新用户授予权限来完成。 这会将数据库用户与其各自的数据库相关联并授予他们适当的权限:

GRANT ALL PRIVILEGES ON FirstDatabase.* TO FirstUser@localhost IDENTIFIED BY 'FirstPassword';
GRANT ALL PRIVILEGES ON SecondDatabase.* TO SecondUser@localhost IDENTIFIED BY 'SecondPassword';

刷新 MySQL 的权限信息以实现更改:

FLUSH PRIVILEGES;

退出 MySQL 以返回 shell 会话:

exit

配置站点根目录

我们将在我们服务器的 Web 根目录中的各个目录中安装这两个站点。

切换到“/var/www/”目录:

cd /var/www

为我们的每个站点创建一个目录。 这些将存储站点文件:

sudo mkdir FirstSite
sudo mkdir SecondSite

在将 Web 内容移动到我们的文件夹之前复制示例配置:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

最后,将文件复制到您在服务器的 Web 根目录下创建的目录:

sudo rsync -avP ~/wordpress/ /var/www/FirstSite/
sudo rsync -avP ~/wordpress/ /var/www/SecondSite/

将目录的所有权授予 Apache web 用户,然后将您的 linux 用户名添加到 web 组:

sudo chown www-data:www-data * -R
sudo usermod -a -G www-data linux_user_name

WordPress 配置

我们将为每个站点配置有关我们站点的信息。

第一个站点配置

将目录更改为第一个站点的文档根目录:

cd /var/www/FirstSite

打开 WordPress 配置文件进行编辑:

sudo nano wp-config.php

找到包含以下字段的部分,并将数据库、用户名和密码替换为您的第一个站点:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'FirstDatabase');

/** MySQL database username */
define('DB_USER', 'FirstUser');

/** MySQL database password */
define('DB_PASSWORD', 'FirstPassword');

保存并退出。

第二站点配置

将目录更改为第二个站点的文档根目录:

 cd /var/www/SecondSite

打开 WordPress 配置文件进行编辑:

sudo nano wp-config.php

找到您为上一个站点编辑的同一部分。 这次您将输入第二个站点的信息。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'SecondDatabase');

/** MySQL database username */
define('DB_USER', 'SecondUser');

/** MySQL database password */
define('DB_PASSWORD', 'SecondPassword');

保存并退出。

Apache 虚拟主机配置

我们需要配置 Apache 以将来自每个域的流量引导到它们各自的目录。 我们将通过为每个域创建单独的虚拟主机文件来做到这一点。

将目录更改为 Apache 的可用站点目录:

cd /etc/apache2/sites-available

通过复制默认虚拟主机文件为每个站点创建一个新的虚拟主机文件:

sudo cp default FirstSite
sudo cp default SecondSite

第一个站点虚拟主机配置

打开您复制的第一个文件以配置第一个站点的虚拟主机:

sudo nano FirstSite

更改文件中的信息以匹配以下内容。 请记住用红色替换信息以匹配您的第一个站点:

<VirtualHost *:80>
    ServerAdmin your_email_address
    ServerName firstsite.com
    ServerAlias www.firstsite.com
    
    DocumentRoot /var/www/FirstSite
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/FirstSite>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
. . .
. . .

如果您需要启用漂亮的永久链接,您可以在“ " 阻止到 "AllowOverride All"。 您可以在此处了解有关 漂亮永久链接的要求 的更多信息。

进行更改后,保存并关闭文件。

第二站点虚拟主机配置

打开第二个虚拟主机文件进行编辑:

sudo nano SecondSite

更改信息以反映您的第二个站点的信息:

<VirtualHost *:80>
    ServerAdmin your_email_address
    ServerName secondsite.com
    ServerAlias www.secondsite.com
    
    DocumentRoot /var/www/SecondSite
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/SecondSite>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
. . .
. . .

保存并关闭文件。

最终配置

要让我们的网站正常运行,还需要几个步骤。

首先,WordPress 需要安装一个额外的 PHP 模块才能正常运行。 通过键入安装它:

sudo apt-get install php5-gd

接下来,通过键入以下命令启用我们创建的虚拟主机文件:

sudo a2ensite FirstSite
sudo a2ensite SecondSite

最后,重新加载 Apache 以便它读取我们的更改:

sudo service apache2 reload

看到结果

要查看您的新 WordPress 网站,只需在网络浏览器中导航到您的域名即可。

如果您已正确配置所有内容,您应该会看到如下所示的页面:

您现在可以单独登录并配置每个站点。 这些站点是完全独立的,可以像存在于两个完全不同的 VPS 服务器上一样进行管理。

贾斯汀·艾林伍德