本地开发环境从wamp迁移为wnmp

一直在win下开发,使用的wamp套件,某天逛全球最大的同性交友网站——Github的时候,本来想找一些Yii的关于RESTful风格的源码看看,逛着逛着突然看到了有个wnmp的开源项目,稍微看了下,还行。

抱着和开发环境和线上环境应当尽量一致的想法,于是决定把本地的开发环境从wamp换到wnmp,正好也开源增加一些项目配置的熟练度,而且这个项目好像还配置了redis。

项目地址如下:https://github.com/salamander-mh/SalamanderWnmp

虽然好像只是从apache改成nginx,看似改动不大,但却是完全不同的套件,初次安装还是有很多不一样的,下面说一些使用过程中可能会遇到的问题。

下载、解压皆可使用,步骤就不说了,讲讲安装后的一些配置。

首先可能需要手动讲php和nginx添加到环境变量。

然后来到nginx的安装目录下,进入conf目录,打开nginx.conf文件,发现有如下代码:

# include VHosts configuratons
# come baby
include vhost/*.conf;

说明如果我们需要增加新的站点解析的话,在同级的vhost目录下直接添加conf文件就好了,实际上也建议这么做,为统一处理,我把所以的站点文件部署到d:/www目录下,接着来到vhost目录下,发现已经有一个test.conf的案例存在,复制一份,修改root的路径,然后reload配置。

介绍2个nginx在win下常用的命令:

nginx -t #检查配置文件是否OK
nginx -s reload #重载配置文件,重载是无缝的

注意,nginx -t命令检查的是相对路径下的配置文件,所以建议在nginx安装目录下执行,或者在后面添加配置文件的绝对路径地址。

接着由于wnmp套件不自带phpMyAdmin,需要手动配置。
先去官网下载phpMyadmin的压缩文件,链接 https://www.phpmyadmin.net/downloads/ 截止目前为止最新发布版为4.7.9,下载解压到d:/www文件夹,在nginx下增加一份配置文件,然后修改host,这时已经可以使用配置好的目录进行访问了。

但我决定当phpmyadmin让可以自动登陆,并且使用IP地址/phpmyadmin的域名进行访问,与wamp同步,所以我们接着往下走。

首先是让phpmyadmin可以自动登陆,在安装目录下复制config.sample.inc.php到同级文件夹改名为config.inc.php,

$cfg['Servers'][$i]['auth_type'] = 'config';#将原来的cookie改成config,然后在下面添加如下代码

$cfg['Servers'][$i]['user']          = 'root'; 
$cfg['Servers'][$i]['password']      = '';  

wnmp的mysql默认账号为root,密码为空,根据实际情况填写即可。

然后配置IP/phpmyadmin的方式访问:
打开nginx的主配置文件nginx.conf,添加如下代码:

###
#配置phpmyadmin,使之可以通过localhost/phpmyadmin访问
location /phpmyadmin {
    alias   D:\www\phpMyAdmin;#phpmyadmin的路径
    index  index.php;
}

location ~ /phpmyadmin/.+\.php.*$ {
if ($fastcgi_script_name ~ /phpmyadmin/(.+\.php.*)$) {
    set $valid_fastcgi_script_name $1;
}
fastcgi_pass  127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  D:\www\phpMyAdmin/$valid_fastcgi_script_name;
include  fastcgi_params;
}
###

然后就可以使用localhost/phpmyadmin的地址进行访问啦,和wamp是不是一样呢?

还有,关机的时候需要先退出该软件,不然php-fpm子进程被杀后会不断生成新的进程,导致无法关机,或者也可以修改配置文件,这里不再演示。

继续进行快乐地开发吧。