设置 Windows
有许多工具都捆绑了 Windows 下的 Apache、PHP 和 MySQL,安装简单,使用方便。这些工具中的大多数都已支持带有 Apache 的 PHP 7,如 XAMPP、WAMPP 和 EasyPHP。EasyPHP 是唯一一款同时支持 NGINX 的工具,并提供了将网络服务器从 NGINX 更改为 Apache 或 Apache 更改为 Nginx 的简单步骤。
XAMPP 也适用于 Linux 和 Mac OS X,但 WAMP 和 EasyPHP 只适用于 Windows。本书可以使用这三种软件中的任何一种,但我们推荐 EasyPHP,因为它支持 NGINX,而在本书中,我们主要使用 NGINX。 |
这三个工具中的任何一个都可以使用,但我们需要对网络服务器工具的每个元素进行更多控制,因此我们还将单独安装 NGINX、PHP 7 和 MySQL,然后将它们连接在一起。
NGINX Windows 二进制文件可以从 http://nginx.org/en/download.html 下载。我们建议使用稳定版本,尽管使用主线版本没有问题。PHP Windows 二进制文件可以从 http://windows.php.net/download/ 下载。根据您的系统下载非线程安全版本的 32 位或 64 位二进制文件。 |
执行以下步骤:
-
下载信息框中提到的 NGINX 和 PHP Windows 二进制文件。将 NGINX 复制到一个合适的目录。例如,我们有一个完全独立的 D 盘用于开发。将 NGINX 复制到该开发驱动器或任何其他目录。现在,将 PHP 复制到 NGINX 目录或任何其他安全的文件夹位置。
-
在 PHP 目录中,会有两个
.ini
文件:php.ini-development
和php.ini-production
。将其中一个重命名为php.ini
。PHP 将使用该配置文件。 -
按住 Shift 键并右击 PHP 目录,打开命令行窗口。命令行窗口将在相同的位置路径下打开。发出以下命令启动 PHP:
php-cgi -b 127.0.0.1:9000
。-b
选项启动 PHP 并绑定到外部 FastCGI 服务器的路径。上述命令将 PHP 绑定到 9000 端口的 127.0.0.1 IP 上。现在,PHP 可以通过此路径访问。 -
要配置 NGINX,打开
nginx_folder/conf/nginx.conf
文件。首先要做的是在服务器块中添加root
和index
,如下所示:server { root html; index index.php index.html index.htm;
-
现在,我们需要配置 NGINX,在前面提到的启动路径上使用 PHP 作为 FastCGI。在 nginx.conf 文件中,取消对以下 PHP 位置块的注释:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME complete_path_webroot_folder$fastcgi_script_name; include fastcgi_params; }
注意
fastcgi_param
选项。高亮显示的complete_path_webroot_folder
路径应该是nginx
文件夹内 HTML 目录的绝对路径。假设 NGINX 位于D:\nginx
路径下,那么HTML
文件夹的绝对路径就是D:\nginx\html
。但是,在前面的fastcgi_param
选项中,\
应替换为/
。 -
现在,通过在 NGINX 文件夹的根目录中发出以下命令来重新启动 NGINX:
nginx –s restart
-
NGINX 重新启动后,打开浏览器并输入 Windows 服务器或机器的 IP 或主机名,我们就会看到 NGINX 的欢迎信息。
-
现在,要验证 PHP 安装及其与 NGINX 的配合,请在 webroot 中创建一个 info.php 文件并在其中输入以下代码:
<?php phpinfo(); ?>
-
现在,在浏览器中访问 your_ip/info.php,我们将看到一个包含 PHP 和服务器信息的页面。恭喜你 我们配置了 NGINX 和 PHP,使它们能完美地协同工作。
在 Windows 和 Mac OS X 上,我们建议使用安装了 Linux 版本所有工具的虚拟机,以获得服务器的最佳性能。在 Linux 中管理一切都很容易。有一些 vagrant 盒子可以提供所有可用的工具。此外,还可以在 https://puphpet.com 上定制虚拟机配置,包括 NGINX、Apache、PHP 7、Ubuntu、Debian 或 CentOS 以及其他优秀工具,这是一个易于使用的图形用户界面。另一个不错的工具是 Laravel Homestead,它是一个 Vagrant box,里面有很多好工具。 |