NGINX post_action 到 UNIX 域套接字
我正在尝试将所有 nginx 流量发送(复制)到 Unix Socket。
这是我的 nginx.conf 中的相关代码,
upstream unixsocket { server unix:/var/www/tmp2.sock; }
post_action /sendLogging
location /sendLogging
{
proxy_pass http://unixsocket;
}
我应该在此套接字中启动服务器吗?
socket -sl /var/www/tmp2.sock
如果我这样做,我看不到任何发送到套接字的请求。
此外,由于配置的原因,我的 nginx 在测试一个请求时占用了大量 CPU 50-90%。
--
编辑:
我的错误,NGINX 工作进程无法写入 sock 文件。给予适当的权限。
CPU 使用率高的原因是由于 POST_ACTION 标记存在内部重定向。
如果其他人遇到 POST_ACTION 的内部重定向问题,我通过从该位置返回 444 来解决。这对我来说有效。
谢谢。
I am trying to send(copy) all the nginx traffic to Unix Socket.
Here is the related code from my nginx.conf
upstream unixsocket { server unix:/var/www/tmp2.sock; }
post_action /sendLogging
location /sendLogging
{
proxy_pass http://unixsocket;
}
should i start a server in this socket ?
socket -sl /var/www/tmp2.sock
If i do this, i cant see any requests coming to the socket.
Moreover because of the config, my nginx is taking huge CPU 50-90% Just while testing with ONE request.
--
EDIT:
My mistake, the sock file was not writable by NGINX worker process. Gave appropriate permissions.
The reason for high CPU usage was because of the POST_ACTION tag there was an internal redirect.
If anyone else faces INTERNAL REDIRECT issue with POST_ACTION i solved by returning 444 from the location. this works in my case.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论