nginx代理其他端口到80端口-低调小熊猫的技术小黑屋

我最近遇到微信授权认证回调的一个坑,本地测试的时候,我是用的内网穿透+端口,一切ok。等我配置公众号平台时,才发现微信那边只支持80端口,公司项目80端口已经被占用,我只能用其他端口,尼玛,微信这是个坑啊,然后想到了nginx代理,记录一下我遇到的一些问题,也感谢网上的文章

扩展

其实我看有人用80端口,然后加一个页面,页面跳转到其他端口,方法好像也行,有兴趣可以去研究下

环境及配置:

服务器是Linux操作系统,安装nginx,这个很简单,就不说了,

主要是配置nginx.conf文件

我这里代理18001端口到80端口

server{
        listen 80;
        server_name 127.0.0.1:18001;
        location /api/channel/wechat/doGet {
            proxy_pass http://域名:18001/api/channel/wechat/doGet;
        }
}

简单介绍下server下的结点:1. listen:监听的端口,2. server_name:监听的地址(比如你的域名),3. proxy_pass:代理到哪个地址,ps:可以添加多个server节点

遇到的坑

我配置完了,但是访问没效果,感觉我的配置文件没生效,排查了一下,发现确实没生效 我用命令重新加载配置文件:nginx -s reload 结果出现错误:-bash: nginx: command not found,以前没玩过nginx,遇到问题就懵逼,然后到处看帖子,原因就不说了,直接说我怎么解决的吧

解决

/usr/local/nginx/sbin/nginx -c /root/env/nginx/nginx.conf

我这里指定了一下我nginx的配置文件地址就行了,活到老,学到老啊

常用命令

1.启动nginx:service nginx start

2.停止nginx:nginx -s stop

3.查看nginx进程:ps -ef | grep nginx

4.平滑启动nginx:nginx -s reload 平滑启动的意思是在不停止nginx的情况下,重启nginx,重新加载配置文件,启动新的工作线程,完美停止旧的工作线程。

5.强制停止nginx:pkill -9 nginx

6.检查对nginx.conf文件的修改是否正确:nginx -t -c /etc/nginx/nginx.conf

7.查看nginx的版本:nginx -v

感觉还行,学东西就是这样,不会之前一脸懵逼,学完之后又感觉不过如此!