Nginx 部署多个web应用

以往服务器就部署了一个个人博客,平时也没几个人看,图床也是放在七牛,资源利用十分的低。最近某人希望可以帮忙跑个 Python 脚本,通过给微信公众号发消息,触发脚本收集、整理信息并将信息发到指定的邮箱去。对接微信公众号这个不难,以前弄过,但要占用 80 端口,会和现有的博客冲突,只能端口转发了。

经过多轮百度、多篇博客以及不断的尝试,总算搞定了,下面是大概内容,作为记录。

1、服务器与微信公众号的对接具体可以查看微信官方的 demo,但要注意 demo 是用 Python 2 写的,别掉进 Python 2 与 3 之间差异的坑里面去了。

2、修改 nginx 配置文件,在 server 项中增加一个 location 配置。

1
2
3
location ^~ /wechat {
proxy_pass http://www.xxxdk.xyz:8080/wx;
}

^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。该 location 配置匹配 xxxdk.xyz/wechat 后代理转发到 xxxdk.xyz:8080/wx,wx 是 demo 中 main.py 指定的,8080 端口是在脚本运行时候指定的。

3、调试

检查 nginx 的配置文件有没问题,nginx -t 。

重启 nginx,nginx -s reload 。

可以用 curl 查看 header 信息。

1
curl --head xxxdk.xyz/wx 

与微信公众号对接时,可以在脚本里面加多点打印看看过程。


Nginx 部署多个web应用
http://xxxdk.xyz/xxx/2020/01/Nginx-部署多个web应用/
作者
sni
发布于
2020年1月16日
许可协议