前言

很多时候,现有市面上的集成包已经足够可以满足我们的开发需求了,比如XAMPP,QAMPP,WAMP。
但是,对于我个人而言,我并不喜欢这样的集成包,虽然安装方便,但是在集成包里面包含了一大堆我并不需要的东西,这个是我觉得很讨厌的一点,所以,才想着在Windows系统下面自己手动搭建 PHP以及Nginx环境。

下载nginx

网址:http://nginx.org/en/download.html
如图所示:选择稳定版下载

nginx1.png

下载PHP

网址:https://www.php.net/downloads.php
如图所示:点击此处,进入下载页面:
PHP1.png
nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包
2019-04-15T11:06:48.png
将压缩包下载下来。

存放目录

因为个人习惯,我将Nginx的压缩包以及PHP的压缩包解压到D盘,路径为:
Nginx解压路径:D:\WNP\nginx-1.14.2
PHP解压路径:D:\WNP\php-7.3.4


配置PHP

复制 D:\WNP\php-7.3.4 目录下的php.ini-development文件,并改名为:php.ini

修改PHP.ini

;extension_dir = "./"替换为extension_dir = "D:\WNP\php-7.3.4\ext"
;date.timezone =替换为date.timezone = Asia/Shanghai
enable_dl = Off替换为enable_dl = On
;cgi.force_redirect = 1替换为cgi.force_redirect = 0
;fastcgi.impersonate = 1替换为fastcgi.impersonate = 1
;cgi.rfc2616_headers = 0替换为cgi.rfc2616_headers = 1
;extension=curl替换为extension=curl
;extension=gd2替换为extension=gd2
;extension=imap替换为extension=imap
;extension=mbstring替换为extension=mbstring
;extension=mysqli替换为extension=mysqli
;extension=pdo_mysql替换为extension=pdo_mysql
;extension=snmp替换为extension=snmp
;extension=soap替换为extension=soap
;extension=sockets替换为extension=sockets
;extension=xsl替换为extension=xsl
;fastcgi.impersonate = 1替换为fastcgi.impersonate = 1

配置Nginx

编辑 D:\WNP\nginx-1.14.2\conf 目录下的 nginx.conf 文件(具体目录根据自身情况来改变)

在大概 43-45行之间,有这样的配置:

location / {
    root   html;
    index  index.html index.htm;
}

改为:

location / {
    root   E:\www; # 这里改成你自己的PHP目录(不是PHP安装目录,而是存放PHP)
    index  index.html index.htm index.php;
}

接下来,我们需要Nginx支持PHP

在大概 65行 - 71行有这样的配置

#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

改为

location ~ \.php$ {
     root           E:\www;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include        fastcgi_params;
}

启动

接下来我们可以通过控制台命令启动PHP

D:/WNP/php-7.3.4/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/WNP/php-7.3.4/php.ini

通过控制台启动nginx

D:/WNP/nginx-1.14.2/nginx.exe

如果没有报错,那么,通过浏览器打开连接 http://localhost即可看到以下页面:

2019-04-19T06:17:00.png

这样便是成功配置了。

将PHP与Nginx部署为服务

1、下载
前往 https://github.com/kohsuke/winsw/releases 下载 winsw (其中.NET4.exe适用于WIN10系统,.NET2.exe适用于Win10以下的系统)
前往 https://github.com/78/xxfpm 下载 xxfpm,用来开启PHP-CGI多进程
2、将Nginx注册为服务
①将下载到的WinSW.NET2.exe更名为nginx-service.exe,放到nginx.exe所在的目录下,在该目录下新增文件 nginx-service.xml,修改nginx-service.xml配置如下:

<service>
    <id>Nginx</id>
    <name>Nginx-1.14.2</name>
    <description>Nginx-1.14.2服务</description>
    <logpath>D:\WNP\nginx-1.14.2</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <executable>D:\WNP\nginx-1.14.2\nginx.exe</executable>
    <stopexecutable>D:\WNP\nginx-1.14.2\nginx.exe -s quit</stopexecutable>
</service>

②在D:\WNP\nginx-1.14.2目录下,使用命令行执行nginx-service.exe install 即可生成 windows 服务,卸载命令为nginx-service.exe uninstall

2019-04-19T07:35:28.png

安装服务之后,需要我们启动Nginx服务,我们可以通过命令启动

net start Nginx

2019-04-19T07:38:30.png

3、将PHP注册为服务
①将下载的xxfpm.exe 和 pthreadGC2.dll 扔进php-cgi.exe所在的目录,即 D:\WNP\php-7.3.4
②将下载到的WinSW.NET2.exe更名为php-service.exe,放到php-cgi.exe所在的目录下,在该目录下新增文件 php-service.xml,修改php-service.xml配置如下:

<service>
    <id>PHP</id>
    <name>PHP-7.3.4</name>
    <description>PHP-7.3.4服务</description>
    <executable>xxfpm.exe</executable>
    <startargument>"D:/WNP/php-7.3.4/php-cgi.exe -c D:/WNP/php-7.3.4/php.ini"</startargument>
    <startargument>-n</startargument>
    <startargument>1</startargument>
    <startargument>-i</startargument>
    <startargument>127.0.0.1</startargument>
    <startargument>-p</startargument>
    <startargument>9000</startargument>
    <stopexecutable>taskkill</stopexecutable>
    <stopargument>/F</stopargument>
    <stopargument>/IM</stopargument>
    <stopargument>xxfpm.exe</stopargument>
    <logpath>logs</logpath>
</service>

③在D:\WNP\php-7.3.4目录下,使用命令行执行php-service.exe install 即可生成 windows 服务,卸载命令为php-service.exe uninstall

2019-04-19T07:46:04.png

④安装服务之后,需要我们启动PHP服务,我们可以通过命令启动

net start PHP

2019-04-19T07:47:21.png

如此,打开 http://localhost 便可以看到配置好的页面了:
2019-04-19T07:48:15.png

Last modification:December 18, 2020
If you think my article is useful to you, please feel free to appreciate