• 欢迎光临flyzy小站!分享一些学习路上遇到的坑坑洼洼~

adad

Windows上配置Nginx+PHP7+WordPress

为了方便在本机调试WordPress主题,在Windows上搭建了个Nginx+PHP7+WordPress的环境~ 手把手基于WordPress建站教程

 

软件下载

1.Nginx

直接去Nginx官网下载即可~https://nginx.org/en/download.html,我下载的是nginx 1.13.8

2.PHP7

直接去PHP官网下载即可~http://windows.php.net/download#php-7.0,由于nginx下php是以FastCGI方式运行的,所以我们的下载费线程安全也就是nts的php,我下载的是php7.2.0

3.WordPress

直接去WordPress官网下载即可~https://cn.wordpress.org/txt-download/,注意对应的服务器要求,例如我下载的是4.9.1,对应的是PHP 5.2.4或更新版本,MySQL是5.0或更新版本~

 

软件安装

1.Nginx

Nginx是免安装版,下载后解压,直接运行nginx.exe就能运行,配置文件在conf/nginx.conf目录下,默认监听80端口,直接输入localhost即可看到对应的欢迎界面~

nginx welcome

2.PHP

PHP也是免安装版,解压即可用~

 

Nginx+PHP环境配置

Nginx是一个反向代理的web容器,所以需要一个真正的web服务器才能解析动态网页内容,而这里PHP就是使用fastcgi来充当真正的web服务器,而我们接下的php启动命令将它运行在9000端口上,因此要在nginx.conf中有一个fastcgi_pass 127.0.0.1:9000对应这个服务~

1.配置nginx.conf,文件在nginx目录下的conf文件夹下

  • 添加index.php默认首页

在location /模块中的index下增加index.php:

        location / {
            root   html;
            index  index.html index.htm index.php;
        }
  • 添加php解析设置

取消对location ~ \.php$的注释,修改如下:

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

其中$document_root值root对应的值~

这两个配置都没有改root的值,所以对应的文件路径是nginx目录下的html文件夹下~如果要放在别的位置,可以修改root的值。

2.配置PHP的php.ini

在PHP目录下找到php.ini-development,重命名为php.ini

  • 找到cgi.fix_pathinfo=1,去掉前面的;
  • 找到extension_dir = “ext”,去掉前面的;
  • 找到extension=mysqli,去掉前面的;(目前只增加了这一个extension,如果有需要可以自行增加其他~)

执行cmd命令进入到php所在的目录,再执行php-cgi.exe -b 127.0.0.1:9000 -c php.ini即可启动php~

3.测试Nginx与PHP是否集成成功

在root对应的路径下新建一个info.php,内容为:

<?php
phpinfo();

在浏览器输入localhost/info.php:

phpinfo-on-windows

得到如上图所示就表示配置成功~

 

设置Nginx+PHP启动与停止脚本

由于PHP在启动后就一直开着,很不方便,所以通过两个脚本文件来讲Nginx的启动与PHP的启动绑定在一起,而PHP的后台运行则通过RunHiddenConsole.zip来实现~

1.下载RunHiddenConsole

点击上面的链接下载至nginx目录下

2.新建start.bat

@echo off
echo Starting PHP FastCGI...
RunHiddenConsole.exe F:/php/php7/php-cgi.exe -b 127.0.0.1:9000  -c F:/php/php7/php.ini
echo Starting nginx...
F:/nginx-1.13.8/nginx.exe

注意修改对应的nginx路径~

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目录包括如下文件:

nginx-ls

之后只需要运行start.bat和stop.bat就可以启动和关闭nginx+php~

 

配置Wordpress+Nginx+PHP

1.新建Wordpress操作的MySQL用户及仓库

详见建站教程(3):基于Nginx部署WordPress中第二步创建WordPress操作的数据库和用户

2.配置WordPress

重名名wp-config-sample.php为wp-config.php,修改对应的MySQL配置:

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress_db');

/** MySQL数据库用户名 */
define('DB_USER', 'root');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'system');

/** MySQL主机 */
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

/**#@+
 * 身份认证密钥与盐。
 *
 * 修改为任意独一无二的字串!
 * 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/
 * WordPress.org密钥生成服务}
 * 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'vdlcnx|4=(*N`H~Kb,y1m/{X o8K`GC .JL&d4ov7y10p~R9J<_$Yp>5CTk;NkVw');
define('SECURE_AUTH_KEY',  'lP7]fC|F]mryIK?m7Q~Hgq>g+f<g9b:kkI1YD^2r&}T`T g[4=n/k;_4yaXG&jCz');
define('LOGGED_IN_KEY',    'v vtt#67XRo%[l1CJCC#``Zv?SvsJJ2[ZNwyA%X5T/hAyBqe_W#O-83q;!{%?WuP');
define('NONCE_KEY',        'x=LDY9ag~@R/k+J$1,.IAj6+E)~iE.LpHZ|b=nwrw 4gwhi7;ZjVIFW<XxaGu-#g');
define('AUTH_SALT',        'N4SBY{Yt$.$cw#%gw}HzEjQepT=0nec]C|;Rs7(=E|bD,4gC%zLZ,`G5N]>INqT[');
define('SECURE_AUTH_SALT', 'Ky4GLhe1t{^tZ/Y|3|G,o-0c7^MoXUk>RpwVhh-L-k#]8$%miV[$~i&Njw0Zzm!F');
define('LOGGED_IN_SALT',   '0)^<l9pk$qj&Hoj7|Jo!0v`<YQzx9+ *kUweRz?{#5O)Be!zlZ~$,/nL.v]9-deN');
define('NONCE_SALT',       'yosXup!_2D1J=(/~M!3B_(jai<Pyt[-%!B+Ec<UY;H?]jcc.-iEZ),?|+_.ad? g');

对应的用户名,密码,数据库表名改成自己的即可~

3.拷贝WordPress文件

将WordPress文件夹下的所有文件都拷贝到root对应的根目录下,重启Nginx后再访问localhost就可以进入WordPress的安装界面了~

点赞