Windows下安转及配置PHP + Nginx及常用命令

1.环境

  • Nginx 1.16.0
  • PHP 7.3.7
  • Windows 10

2.下载及安装

Nginx

  1. http://nginx.org/en/download.html
  2. 下载nginx/Windows-1.16.0
  3. 解压到D:\nginx-1.16.0

PHP

  1. http://windows.php.net/download/
  2. 下载 PHP7.3.7 download VC14 x64 Thread Safe
  3. 解压到D:\php7.3.7

3.集成Nginx + PHP

  1. 启动 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,写入如下内容:

phpinfo();
?>

5.启动Nginx

D:\nginx-1.16.0> start nginx

6.访问http://localhost/print.php 即可

Windows下安转及配置PHP + Nginx及常用命令_第1张图片
PHP

4.注意(前方有坑)

不要手动点击Nginx目录下的nginx.exe !!!或者说点击之后要自己手动杀死进程,不然配置完PHP之后再重启Nginx会导致访问http://localhost/print.php 报404,但是访问http://localhost是可以看到Nginx运行起来的

解决办法

先找到对应的进程,然后使用命令结束该进程再重新启动就可以访问了

Windows下可以使用以下命令查看进程

tasklist /fi "imagename eq nginx.exe"

Windows下安转及配置PHP + Nginx及常用命令_第2张图片
Nginx 进程

因为手动点击了nginx.exe,任务管理器中也查看不到,无法停止,导致后面启动Nginx后,浏览器中访问的还是之前手动启动的Nginx,所以访问不到print.php,先终止对应的进程,然后再重启就好了

Windows下终止进程:

Taskkill /PID /F 或 Taskkill /IM /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常用命令需要掌握,需要对自己之前操作步骤有清楚的意识以及敏捷的反应,以便快速排查错误并解决问题。

你可能感兴趣的:(Windows下安转及配置PHP + Nginx及常用命令)