当前位置:   article > 正文

Windows下的Nginx安装与配置(PHP)_php5.6.37在windows下安装配置nginx

php5.6.37在windows下安装配置nginx

写在前面

本文章尝试说明Nginx在winds系统下的安装和配置(PHP)。

关于Linux下Nginx的安装和配置:Nginx的安装与配置(PHP)

PHP的安装和配置

安装PHP

虽然是写nginx但是作为基础先安装php(会的人可以无视)

下载 PHP:PHP

下载PHP

选择合适的版本下载(我选择的32位的PHP5.6)

下载成功后 解压文件(我的解压路径为D:\work\php)

配置PHP

解压后在文件夹中找到php.ini-development文件复制一份并改名为php.ini

  • 给PHP指定可加载扩展模块的位置。

php.ini中找到extension_dir项目,取消注释并赋值为”./ext”:

extension_dir默认

改动后:

extension_dir修改后

(注意删除前边的;)

  • 然后让PHP和Nginx联动。

php.ini中找到cgi.fix_pathinfo项目,取消注释。

cgi.fix_pathinfo默认

改动后:

cgi.fix_pathinfo修改后

cgi.fix_pathinfo是用来设置在cgi模式下PHP是否提供PATH_INFO信息。

因为nginx默认不会设置PATH_INFO的值,所以需要通过上面的方法来提供。

Nginx的安装和配置

Nginx下载Nginx

Nginx下载下载地址

选择一个合适的版本下载(图中红框位置为最新版)。

下载后 解压文件(我的解压路径为D:\work\nginx)

nginx目录

上面是解压后的目录。

  • conf 配置目录
  • log 日志目录
  • html 默认的网站根目录(类似Apache的www目录)
  • temp 缓存目录

点击 nginx.exe**启动**nginx

打开cmd,输入:

:: tasklist显示进程,/fi筛选器,""中为映像名称等于nginx.exe
tasklist /fi "imagename eq nginx.exe"
  • 1
  • 2
  • 3

nginx正常启动的情况下:

nginx正常启动

(其实任务管理器的服务标签页也可以显示)

这时在浏览器中输入localhost就能看到nginx的欢迎页面:

nginxindex

接下来**配置**Nginx。

在Nginx的目录下的conf目录下打开nginx.conf.
做以下修改:


#user  nobody;
worker_processes  1;

# 打开log
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    # 打开log
    access_log  logs/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        # 打开log
        access_log  logs/host.access.log;

        location / {
            # 设置网站的根目录(类似Apache的www目录)
            # 这个路径自己定义就行,下面的是我自己的路径
            root   D:/work/www;
            # 把index.php添加到默认首页,就是输入/时自动打开/index.php
            index  index.html index.htm index.php;
        }

        # 打开404页面(可以不动)
        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        # 配置FastCGI,PHP 脚本请求全部转发到 FastCGI处理
        location ~ \.php$ {
            # 
            root           D:/work/www;
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
            fastcgi_index  index.php;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94

上面所有改动的地方都加上了中文注释,其他地方没有动。

之后**启动**php-cgi和Nginx

先双击nginx.exe启动Nginx

然后打开cmd输入如下,启动php-cgi

:: 打开cgi -b指定端口 -c指定php.ini的位置
D:/work/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/work/php/php.ini
  • 1
  • 2
  • 3

这是我们可以测试一下启动是否成功。

在网站根目录下新建一个php文件:(例如我的是:phpinfo.php)

<?php

phpinfo();
  • 1
  • 2
  • 3
  • 4

然后打开浏览器进入网址localhost/phpinfo.php

如果成功会进入如下页面:

PHPinfo

环境就成功搭建完了。

关于使用批处理快速启动

为了节省时间可以用批处理来打开/关闭Nginx和php-cgi,
网上有很多方法,但是要用到RunHiddenConsole(用来隐藏CMD命令窗),很小随便下一个就行,网上有的是。

  • 把下载的RunHiddenConsole.exe和批处理文件放在同一目录里。
  • 编辑启动的批处理文件(start.bat)
REM REM是bat文件的注释类似于php的//
REM 设置不输出命令
@ECHO off
REM 设置Nginx和php-cgi的目录
SET php_home=D:/work/php/
SET nginx_home=D:/work/nginx/

REM 输出状态
ECHO Starting PHP FastCGI...
REM 启动php-cgi -b 端口 -c php.ini位置
REM %php_home%为获取上面set的php_home的值
RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
REM 输出状态
ECHO Starting nginx...
REM 启动Nginx -p Nginx的根目录
RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 编辑停止的批处理文件(stop.bat)
@ECHO off
ECHO Stopping nginx...  
REM 结束进程 /F 强制终止 /IM 指定的进程 
TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
EXIT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这样两个快速启动/停止的批处理文件就完成了。

这里写图片描述

需要用时双击批处理文件就可以。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/53616
推荐阅读
相关标签
  

闽ICP备14008679号