酸饼博客
关注区块链技术应用与数字货币

如何在本地计算机进行微信的开发调试

以前用ngrok,后来ngrok被封了,之后用过国内的第三方ngrok服务,不太稳定,遂改用vps端口转发,沿用至今。

本文简单介绍下设置方法。

准备条件

  • vps一台
  • 备案域名(二级域名)也可以

设置方法

域名解析和设置

  • 在微信公众号后台设置好url,需用备案域名、80端口

  • 解析域名,指向vps的ip

配置nginx上的监听:

server {

    listen 80;

    server_name mp.suanbing.com;

    location / {

        proxy_pass http://127.0.0.1:18001;

        proxy_set_header X-Real-IP $remote_addr;

    }

}

重新加载nginx后,所有对http://mp.suanbing.com 的请求将转到该服务器上的18001端口。

本地端口映射

在本地开发机器上开一个到服务器的转发通道。

ssh root@mp.suanbing.com -R 18001:127.0.0.1:8000

启动本地端口监听

在本地开发机器上自动一个端口为8000的web服务。

问题处理

ssh连接有时意外中断,重新连接时总是提示无法在本地监听端口:


Warning: remote port forwarding failed for listen port 18001

经检查,发现ssh连接端口还在监听:

# lsof -i tcp:18001
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    23497 root    8u  IPv4 536866      0t0  TCP localhost:18001 (LISTEN)
sshd    23497 root   10u  IPv4 537985      0t0  TCP localhost:18001->localhost:35228 (CLOSE_WAIT)
sshd    23497 root   13u  IPv4 538151      0t0  TCP localhost:18001->localhost:35229 (CLOSE_WAIT)
sshd    23497 root   14u  IPv4 538159      0t0  TCP localhost:18001->localhost:35230 (CLOSE_WAIT)
sshd    23497 root   15u  IPv4 539373      0t0  TCP localhost:18001->localhost:35231 (CLOSE_WAIT)


# netstat -tlnp |grep 18001
tcp        0      0 127.0.0.1:18001         0.0.0.0:*               LISTEN      23497/sshd: root@pt 


因此,还需要重启sshd服务,关闭之前的端口连接:

service sshd restart

或者用who命令查出ssh的连接进程,将其kill 掉:


[root@suanbing ~]# who root pts/0 2016-11-11 16:53 root pts/1 2016-11-11 16:58 root pts/2 2016-11-11 17:01 root pts/3 2016-11-11 17:23 [root@suanbing ~]# [root@suanbing ~]# [root@suanbing ~]# man fuser [root@suanbing ~]# fuser -k /dev/pts/0 /dev/pts/0: 24898 [root@suanbing ~]# fuser -k /dev/pts/1 /dev/pts/1: 24934 [root@suanbing ~]# fuser -k /dev/pts/2 /dev/pts/2: 25040 [root@suanbing ~]# fuser -k /dev/pts/3 /dev/pts/3: 25190
未经允许不得转载:酸饼 » 如何在本地计算机进行微信的开发调试
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

留言联系关于酸饼