用Nginx url重写及NuSphere环境调试windows live writer客户端

原创文章,转载请指明出处并保留原文url地址

1. PhpED调试问题概述

前面我们介绍了基于NuSphere系统调试wordpress博客程序, 我们通过在浏览器的地址栏中的url中添加特定调试参数,来启动PhpED调试模式, 来调试wordpress的php脚本。详情参见:

基于NuSphere环境调试wordpress系统

Windows live writer是一个专用的blog客户端软件, 相关信息参见:

http://www.iigrowing.cn/tag/live-writer

Windows live writer(简称:wlw)写博客非常方便, 但是对他工作过程还是有些模糊, 若想做些调整等就有些困难了。因此考虑从整体上考虑调试wlw同wordpress工作过程的念头, 这样才有了前面的两篇文章, 关于php开发环境, 基于NuSphere环境调试wordpress系统的文章的出现。

但是,前面两篇文章并没有彻底解决全部问题, 仅仅解决了php的基础调试环境, 调试网页的环境等。 若是调试wlw的工作过程是做不到的。理由如下:

调试php需要一个debug参数, 这个参数无法在wlw中输入, 即使输入了也不好用, 仅仅是第一次调用存在,后续调用中wlw并没有提供输入这个参数的机会, 因此后续操作都不能成功调试了。

如何解决这个问题?

解决这个问题的关键就是,给每个wlw的请求自动添加一个动态调试的参数,必须是自动添加, 因为你没有机会修改wlw的调用。

根据这个就考虑到我们需要一个代理服务器,准确是反向代理(这里有篇反向代理的文章)服务器, 通过wlw将请求首先发送给方向代理服务器, 反向代理服务器将请求在转发给后端的wordpress系统, 在反向代理转发的同时, 顺便添加一个动态调试的参数,这样就可以解决了php调试的目的了。

因此调用过程如下: wlw=》nginx=》添加调试参数=》反向代理的php环境=》phped调试。

image[2][1]

工作过程示意图

2. 基本环境需求

a) Php环境, 选择xampp软件环境,方便安装测试。关于如何利用xampp软件安装php,参见:XAMPP安装及使用概述

b) WordPress系统安装方法参考: WORDPRESS安装

c) Phped调试环境  基于NuSphere环境调试wordpress系统

d) Windows下nginx   Windows XP下Nginx的安装与配置

3. 配置 windows xp下nginx

配置192.168.186.163 服务器上windows下nginx

1)配置nginx系统

进入conf目录, 打开nginx.conf文件

wps_clip_image-3353[3][1]

上图中黄色4 位置, 配置url重写配置, 在相关配置中通过判断参数中是否包括:DBGSESSID= 参数, 若是不包括参数,就重写新的包括DBGSESSID=413693790766000002;的url请求。

从新写过的请求被下面的if语句捕获,在if语句中重新将请求通过 proxy_pass指令转发到另外一台服务器上的相应80端口。

在重新修改过的url中已经包括了DBGSESSID=413693790766000002;参数, 这些参数传递到另外一台服务器时,已经包括了调试php的相关参数(基于NuSphere环境调试wordpress系统

相关配置文件如下:

worker_processes  1;

events {    worker_connections  1024; }

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       80;

server_name  kkk.iigrowing.cn;

location / {

if ( $args !~ DBGSESSID= ) {

rewrite ^/(.+)?(.*)$ "/$1?DBGSESSID=413693790766000002;d=1,p=1,c=0&$2" last;

}

if ( $args ~ DBGSESSID= ) {

proxy_pass http://192.168.186.162:80;

}

root   html;

index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

2)启动windows下的nginx系统

wps_clip_image-14439[3][1]

4. 启动192.168.186.163服务器的PhpED环境

wps_clip_image-29167[4][1]

 

启动后,会启动php调试的监听程序, 如下图

wps_clip_image-6968[3][1]

如监听程序没有启动则需要重新配置php的调试环境

5. 配置192.168.186.162服务器

1)配置hosts文件, 如下图

wps_clip_image-12511[3][1]

配置 www.iigrowing.cn到163服务器

2) 启动windows live writer程序, 配置成如下:

wps_clip_image-21322[3][1]

3) 创建新blog文章

wps_clip_image-12884[3][1]

如上图, 写好文章的标题, 及内容, 然后点击发布按钮

6. 查看192.168.186.163的调试环境

点击发布文章按钮后, 查看163服务器的调试器PhpED,如下图

wps_clip_image-12547[3][1]

图中蓝色断点是本次请求的执行断点, 通过这个断点可以查看当前相关各种参数。

7. 总结:

本次配置已经成功配置了调试windows live writer的一个php环境系统。

问题, 在162及163两个环境下都需要一个PhpED环境, 目前还没有找到原因,但这个不影响系统的调试,问题留待后续解决。

发表评论