Nginx Unit 入门教程

在「

Nginx 发布支持动态配置的开源 Web 服务器 Nginx Unit

」 一文中我们对 Nginx Unit 的基本特性做了一个介绍。

今天我们用一个典型的 PHP 应用 WordPress 为例,来介绍下如何在 Nginx Unit 下部署一个应用。

架构概述

WordPress 是一个相当标准的三层 Web 应用程序,它包括必须由 PHP 处理器执行的 PHP 脚本以及必须由 Web 服务器交付的静态文件。下图为一个简单的 WordPress 应用程序的架构:

本文系统基础环境以 Ubuntu 16.04 为例,如果你使用的是其它发行版本也基本类似,这里就不展开讲解了。

安装 MySQL

WordPress 安装的关键要素之一就是存储用户帐户和站点数据的数据库,这里我们使用 MySQL 。

安装和配置 MySQL

输入新的 MySQL 的 root 用户的密码:

运行 MySQL 配置工具

如果你要对 MySQL 进行更细致的配置,可以使用 工具进行:

使用 MySQL 的 root 帐户登录

创建一个名为 wordpress 的数据库和用于连接 wordpress 的数据库的用户

这里创建的用于连接数据的用户名为:wordpress,密码为:000000

安装 WordPress

安装 WordPress

我们这里计划把 WordPress 安装到 目录下,WordPress 为 PHP 应用,开箱即用。

配置 WordPress

生成一份 WordPress 的配置文件:

为了加强安全性,使用 WordPress 的 salt 函数来随机生成新的密钥:

编辑配置文件,修改数据库连接信息和安全密钥:

修改 WordPress 的文件及目录权限:

这里使用的是 www-data 用户,这个用户是要在后面配置到 Nginx Unit 的应用配置文件里的 。

安装 PHP

安装 WordPress 需要的 PHP 环境和相关 PHP 扩展,这里我们安装比较新的 PHP 7.0 版本:

安装 Nginx Unit

Nginx Unit 支持多种安装方式,这里我们通过预编译包来安装。

安装 Nginx Unit 的扩展模块

这里只安装了 PHP 模块,Nginx Unit 支持的模块还有很多,比如:unit-python2.7、 unit-python3.5、 unit-go、 unit-perl、 unit-ruby等。

验证 Nginx Unit 和 PHP 是否正常工作

如果出现 phpinfo 页面的原始 HTML 代码,则表示 Nginx Unit 安装正确。

配置 Nginx Unit

为 WordPress 创建一个 Nginx Unit 的应用配置文件,该应用配置文件仅用作 Nginx Unit 动态加载用。

此配置文件会创建两个 Nginx Unit 应用程序,每一个应用程序对应一个 URL 方案,两个 URL 分别对应的是 WordPress Web 页面和 WordPress 的后台管理面板。

通过 curl 向 Nginx Unit 提交配置文件

这里只介绍了最基本的 API 用法,实际上基于 Nginx Unit API 可以完成很多工作,具体参考 NGINX Unit 官方文档。

通过 Nginx 整合 Nginx Unit

把 Nginx 和 Nginx Unit 整合到一起,可以实现动静分离。让 Nginx 处理所有的静态资源请求,而与 PHP 相关的动态请求都转由 Nginx Unit 来处理。

安装 Nginx

验证 Nginx 是否正常工作

如果出现 Nginx 默认页面的原始 HTML 代码,则表示 Nginx 安装正确。

配置 Nginx

首先对默认配置文件做一个备份:

其次建立一个新的默认配置文件:

最后验证并加载配置文件:

如果一切正常,在浏览器中访问主机 IP 就会出现 WordPress 的安装页面。

参考文档

https://www.google.com

http://t.cn/R3k71cq

http://t.cn/R3kLoXD

今日思想

良好的工作态度,首先就在于勇于发掘自我,当从事喜欢的工作时,即使异常艰辛,劳苦,你仍然可以从工作中享受乐趣,甚至是产生一种神圣感。

——巴菲特

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180527G1HLEN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券