如何在FreeBSD的10.1服务器上使用Nginx的安装WordPress

介绍

WordPress是世界上最受欢迎的内容管理系统(CMS)和博客平台。 使用WordPress,您可以快速配置和自定义您的网站,允许您添加内容和调整视觉元素轻松。

在本指南中,我们将在FreeBSD 10.1机器上安装WordPress,使用Nginx为我们的内容提供服务。 Nginx是一个强大的Web服务器,能够有效地处理大量的并发连接。 我们将利用它作为我们将在本指南中设置的WordPress安装的基础。

先决条件和目标

为了完成本指南,有一些初步步骤,应该采取,以使您的服务器准备好。

我们将在本指南中将组件添加到已配置的FEMP(FreeBSD,Nginx,MySQL和PHP)。 你可以学习如何设置的Nginx,MySQL和PHP与我们的指导你的FreeBSD 10.1的服务器上在这里在这里。

一旦您在服务器上安装并配置了Nginx,MySQL和PHP,您可以继续使用本指南。 我们在本指南中的目标是在我们的FreeBSD服务器上安装最新版本的WordPress。

有一个现有的WordPress程序包,通过FreeBSD的安装pkg命令,但它目前依赖于PHP 5.4的版本,将只从现在开始接收安全更新。 其寿命终点将在2015年9月。

为了确保我们的网站是建立在一个基础上,将获得支持很长一段时间,我们将从项目的网站下载并安装最新版本的WordPress,并使用PHP版本5.6处理动态内容。

安装WordPress所需的其他PHP扩展

当我们的导游FEMP在我们的FreeBSD服务器上设置PHP,我们安装了php56包和php56-mysql包,以便我们的PHP实例可以从MySQL数据库如果需要查询数据。

这代表了所需的最小配置,允许PHP用作各种不同应用程序的基础。 WordPress会使用php56-mysql包,但它也需要一些额外的扩展,以实现它的许多核心功能。

幸运的是,这些可以很容易地使用安装的pkg命令。 键入以下内容来下载并安装所需的扩展:

sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip

安装完成后,如果您使用的是默认tcsh外壳,启动老调重弹,这样shell可以找到你的新文件:

rehash

我们安装的所有软件包都是PHP扩展。 为了使我们的PHP-FPM实例使用这些新的扩展,我们必须重新启动过程:

sudo service php-fpm restart

完成后,我们可以开始配置我们的数据库。

创建和配置MySQL数据库

WordPress需要一个SQL风格的数据库,以便存储网站内容和用户数据。 我们在之前的指南中安装了MySQL,因此我们有了创建和提供对这样的数据库的访问所需的工具。

首先,你需要使用mysql命令来验证你的数据库系统为管理用户:

mysql -u root -p

系统将提示您为您在前面的指南中的配置(运行而MySQL的root用户的密码mysql_secure_installation脚本)。 一旦输入正确的密码,您将被放入MySQL提示符。

我们要做的第一件事是为我们的WordPress实例创建一个数据库。 您可以拨打这个不管你想,但我们将要使用的数据库名称wordpress本指南,因为这是语义和容易记住:

CREATE DATABASE wordpress;

如果使用上面的命令遇到麻烦,请确保在语句结尾处有一个分号(;)。 SQL查询语言要求所有语句以分号结尾。

在我们创建数据库之后,我们的下一步是创建一个专用用户,我们将使用它来访问数据库。 建议您为在MySQL中存储数据的每个应用程序创建和使用单独的MySQL用户。 这有助于最小化安全问题的范围。

对于本指南中,我们将调用我们的新用户wordpressuser和配置访问限制,使其仅适用于从服务器本身发起的连接。 我们还将为用户设置密码:

CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';

请记住更改password在上面的命令组件一个安全的密码。 稍后您将需要记住此值。

我们现在创建了我们的WordPress安装所需的两个MySQL组件。 但是,他们还没有以任何方式连接。 我们需要让我们的新用户访问WordPress数据库,以便它可以设置和管理我们网站的数据。 为此,请键入:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

我们的新用户现在可以访问我们配置的数据库。 要让当前运行的MySQL实例知道这些新的更改,我们应该刷新特权表:

FLUSH PRIVILEGES;

最后,我们可以退出MySQL提示,通过键入以返回到常规shell环境:

exit

现在我们有一个数据库和用户准备好了,我们可以下载和配置实际的WordPress文件。

下载并配置WordPress

我们将从项目的网站下载最新版本的WordPress,以用于我们的安装。 由于可能的安全更新,始终使用最新版本的WordPress非常重要。

WordPress的团队,使这个简单的通过总是在包装的最新版本进行存档/latest.tar.gz在其网站上。 我们可以使用FreeBSD的下载到我们的home目录本fetch实用程序:

cd ~
fetch http://wordpress.org/latest.tar.gz

一旦文件被下载,我们可以提取使用WordPress的文件和目录结构tar命令:

tar xzvf latest.tar.gz

将要创建的目录将被称为wordpress 删除.tar.gz归档,然后移动到该目录中,这样我们就可以开始配置:

rm latest.tar.gz
cd wordpress

在里面,有一个示例配置文件,我们可以用作我们安装的模板。 在将文件复制到wp-config.php将由WordPress的读取文件名:

cp wp-config-sample.php wp-config.php

现在,我们可以打开文件进行编辑,以便我们可以配置MySQL数据库的访问凭据和我们在上一部分中设置的用户:

vi wp-config.php

在内部,有三个值,你必须更改为了WordPress正确连接和利用您的MySQL系统。 DB_NAME变量定义您创建的MySQL数据库的名称DB_USER应设置为您所做的用户,并且DB_PASSWORD应修改为包含您为用户选择的密码:

. . .

/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

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

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

. . .

完成修改这些值后,保存并关闭文件。

接下来,我们可以在WordPress安装复制到/usr/local/www ,我们保持我们的各种网站文件的目录。 我们将使用rsync工具,因为它允许我们保持在移动过程中的某些文件属性:

sudo rsync -avP ~/wordpress /usr/local/www

接下来,我们需要调整我们的WordPress文件的所有者,以便我们的Web服务器可以在适当的地方进行更改。 我们的网站用户和组都叫做www

sudo chown -R www:www /usr/local/www/wordpress

现在,您的WordPress文件已到位与正确的配置,我们可以修改我们的Nginx配置。

配置Nginx

在我们的上一个指南中,我们设置Nginx服务默认的Nginx网页并配置它传递PHP请求到我们的PHP-FPM实例。 这使我们大部分的方式到我们需要的WordPress的配置。

打开与Nginx的配置文件sudo特权,使我们的变化:

sudo vi /usr/local/etc/nginx/nginx.conf

如果您按照上一个指南中的说明操作,您的文件应该类似于此文件(为了清楚起见,我们删除了以下评论):

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    access_log /var/log/nginx/access.log;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  example.com www.example.com;
        root /usr/local/www/nginx;
        index index.php index.html index.htm;

        location / {
            try_files $uri/ $uri/ =404;
        }

        error_page      500 502 503 504  /50x.html;
        location = /50x.html {
            root /usr/local/www/nginx-dist;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                include fastcgi_params;
        }
    }
}

我们将必须进行两个调整,以确保我们的WordPress将正常工作。

首先,我们需要调整文档根目录,因为我们的WordPress的文件都位于/usr/local/www/wordpress目录:

server {

    . . .

    root /usr/local/www/wordpress;

    . . .

}

我们需要做的另一变化是对try_files的内部指令location /块。 目前,配置告诉Nginx尝试首先查找请求作为文件。 如果找不到匹配的文件,它将尝试查找与该请求匹配的目录。 如果这没有产生任何结果,Nginx发出404错误,指示无法找到资源。

我们需要修改这个让不是一个404错误结束,请求被重写到index.php文件。 原始请求和参数将作为查询参数传递。 我们可以通过修改配置此try_files指令如下:

server {

    . . .

    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    . . .

}

完成后,配置文件应如下所示:

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    access_log /var/log/nginx/access.log;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  example.com www.example.com;
        root /usr/local/www/wordpress;
        index index.php index.html index.htm;

        location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        error_page      500 502 503 504  /50x.html;
        location = /50x.html {
            root /usr/local/www/nginx-dist;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                include fastcgi_params;
        }
    }
}

完成上述修改后,保存并关闭文件。

现在,我们可以重新启动Nginx以实现我们的新的更改。 首先,仔细检查我们的语法是否正确:

sudo nginx -t

如果没有找到错误,请重新启动服务:

sudo service nginx restart

通过Web界面完成安装

我们的WordPress安装现在完全配置在服务器端。 我们可以使用网络浏览器完成剩余的过程。

在网络浏览器中,访问您服务器的域名或IP地址:

http://example.com

WordPress将首先询问您希望使用哪种语言:

WordPress选择语言

完成选择后,您将进入初始配置页面设置WordPress安装:

WordPress安装

填写您的网站的名称,并选择您要用于管理网站的用户名。 您必须选择并确认您的网站的密码,并填写您可以访问的电子邮件地址。 最后一个选项是关于是否允许搜索引擎索引站点的选择。

当您进行选择时,单击页面底部的“安装WordPress”按钮。 系统将要求您使用刚才选择的凭据登录该网站。

登录后,您将看到用于新的WordPress安装的管理面板:

WordPress管理界面

您可以使用此界面发布新内容,修改网站外观,安装和配置插件以利用其他功能。

结论

你现在有一个新的WordPress安装和运行支持Nginx,MySQL和PHP。 WordPress是非常强大的,允许你显示根据你的喜好风格的许多不同种类的内容。 如果你刚接触WordPress,你可能想通过查看可选的主题和插件来开始。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏