在「
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
今日思想
良好的工作态度,首先就在于勇于发掘自我,当从事喜欢的工作时,即使异常艰辛,劳苦,你仍然可以从工作中享受乐趣,甚至是产生一种神圣感。
——巴菲特
领取专属 10元无门槛券
私享最新 技术干货