Windows服务器下nginx配置php环境(不搭建mysql)

一:准备nginx和php安装包

nginx-1.18.0下载地址:http://nginx.org/en/download.html

php7.4.6下载地址:https://windows.php.net/download/

二:Nginx 安装

1. 准备一个目录, 我这里是C:\nginx(这里nginx目录下主要是为了以后方便拓展多版本的Nginx服务)

2. 运行该文件夹(nginx-1.18.0)下的nginx.exe

3.测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有占用没。

注意:该网站的默认目录在C:\nginx\nginx-1.18.0\html

Windows服务器下nginx配置php环境(不搭建mysql)_第1张图片

三、PHP安装

nginx配置文件是conf文件夹里的nginx.conf

1. 创建一个PHP目录 C:\nginx\php7

2. 修改大概第43~45行之间的

location / {
            root    C:/myprograms/nginx/www;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$query_string;

            if (!-e $request_filename){
                rewrite ^/(.*) /index.php last;
            }

        }

修改网站文件的路径,以及添加index.php的默认页,并配置单一入口文件解析。

Windows服务器下nginx配置php环境(不搭建mysql)_第2张图片

3. 支持php的设置

 修改大概在第63-71行的

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        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;
        }

先将前面的“#”去掉,同样将root  html;改为root  C:/nginx/www;; 再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的。

四、修改C:\nginx\php7目录下的php.ini-development。

将php.ini-development复制并修改为php.ini

搜索“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分号再改为 extension_dir = "C:\wnmp\php\ext"

搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On

搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0

搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号

搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

搜索“php_mysql”,找到:”extension=pdo_mysql和extension=mysqli 去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll   (支持MYSQL数据库)

五、启动

1. 在进程里删除 Nginx 然后 重新启动

2. php-cgi.exe -b 127.0.0.1:9000-c

在www目录下建立phpinfo.php文件,并写入

phpinfo() 测试一下:  

Windows服务器下nginx配置php环境(不搭建mysql)_第3张图片

六、将Nginx 和 PHP 设置为服务启动

发现没有,如果每次都要这样启动 Nginx 和 PHP 是相当麻烦的,接下来我们将其设置为服务启动

1. 下载 RunHiddenConsole  下载地址:https://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip

2. star.bat 启动

@echo off
 
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
  
echo Starting PHP FastCGI...
C:/nginx/nginx-1.18.0/RunHiddenConsole "C:/nginx/php7/php-cgi.exe" -b 127.0.0.1:9000 -c "C:/nginx/php7/php.ini"
echo Starting nginx...
C:/nginx/nginx-1.18.0/RunHiddenConsole "C:/nginx/nginx-1.18.0/nginx.exe" -p "C:/nginx/nginx-1.18.0/"

引号内的改为自己的文件地址

3. stop.bat 停止

@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

到此Nginx 和 PHP 已经安装完毕了,可以访问www目录下的所有静态网站项目

你可能感兴趣的:(学习杂记)