1.环境
- Nginx 1.16.0
- PHP 7.3.7
- Windows 10
2.下载及安装
Nginx
- http://nginx.org/en/download.html
- 下载
nginx/Windows-1.16.0
- 解压到
D:\nginx-1.16.0
PHP
- http://windows.php.net/download/
- 下载 PHP7.3.7 download VC14 x64 Thread Safe
- 解压到
D:\php7.3.7
3.集成Nginx + PHP
- 启动 PHP
D:\php7.3.7>.\php-cgi.exe -b 127.0.0.1:9000
2.编辑 Nginx 配置文件
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
root www;
#可自定义root目录
location / {
index index.html index.htm;
}
# For PHP files
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
3.创建 D:\nginx-1.16.0\www 文件夹
4.在www文件夹下创建一个print.php,写入如下内容:
<?php
phpinfo();
?>
5.启动Nginx
D:\nginx-1.16.0> start nginx
6.访问http://localhost/print.php 即可
4.注意(前方有坑)
不要手动点击Nginx目录下的nginx.exe !!!或者说点击之后要自己手动杀死进程,不然配置完PHP之后再重启Nginx会导致访问http://localhost/print.php 报404,但是访问http://localhost是可以看到Nginx运行起来的
解决办法
先找到对应的进程,然后使用命令结束该进程再重新启动就可以访问了
Windows下可以使用以下命令查看进程
tasklist /fi "imagename eq nginx.exe"
因为手动点击了nginx.exe,任务管理器中也查看不到,无法停止,导致后面启动Nginx后,浏览器中访问的还是之前手动启动的Nginx,所以访问不到print.php,先终止对应的进程,然后再重启就好了
Windows下终止进程:
Taskkill /PID <Number> /F 或 Taskkill /IM <Image Name> /F
5.常用Nginx命令
start nginx 启动nginx服务器
nginx -s stop 快速关闭 Nginx,可能不保存相关信息,并迅速终止web服务
nginx -s quit 有序关闭 Nginx,保存相关信息,有安排的结束web服务
nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载
nginx -s reopen 重新打开日志文件
nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的
nginx -t 不运行,而仅仅测试配置文件。Nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件
nginx -v 显示 Nginx 的版本。
nginx -V 显示 Nginx 的版本,编译器版本和配置参数。
6.总结
Windows下常用进程相关的命令以及Nginx常用命令需要掌握,需要对自己之前操作步骤有清楚的意识以及敏捷的反应,以便快速排查错误并解决问题。