- location / {
proxy_pass $upstream;
#test#
}
目前想到的增加内容只能通过这种 #test# 自定义关键字替换,删除没有关键字怎么办,记录所有替换操作在数据库吗?那操作多的时候数据库岂不是要炸,关键字可能会误伤到其他无关设置
记录行数吗?也只能对现有已配置文件记录,增加内容之后要删除的话依旧要找删哪个内容,内容在哪个行
还有提取中间文本,但是location /xxxx 这个xxxx就没法获取了
想了一下午了,实在没头绪,求脚本大佬或者有经验的大佬教教,逛了github找到一个python-nginx 解析器,但是没有文档
热议
2楼 iiss 昨天17:51
没看明白,你是想在自己后台系统修改nginx配置吗?
3楼 Backkom 昨天17:56
没看明白,你是想在自己后台系统修改nginx配置吗?
是的,想实现对conf文件的增删改查操作,类型cdnfly添加删除缓存之类
4楼 Faxlok 昨天17:57
自己写解析规则?
5楼 Backkom 昨天17:59
自己写解析规则?
那就真的造轮子了,loc大佬众多想请教大佬看看有没有更简单的方法,之前询问一个脚本大佬他是通过行数修改的,详细没问,可惜了
6楼 iiss 昨天18:06
那就真的造轮子了,loc大佬众多想请教大佬看看有没有更简单的方法,之前询问一个脚本大佬他是通过行数修 ...
https://github.com/odiszapc/nginx-java-parser
7楼 hang6 昨天18:15
建议不要做解析规则 工作量太大了
数据库存再通过注释定位复写数据好一点 还有手动修改的余地
[/code]监听ipv4和ipv6这个也不支持,我使用里面的getvalues方法只输出了一个 [80]
9楼 Backkom 昨天18:40
建议不要做解析规则 工作量太大了
数据库存再通过注释定位复写数据好一点 还有手动修改的余地 ...
这个确实可以实现增删操作但是改的话还是要对相应的规则解析,然后替换,虽然简单了很多但是用户变多操作变多之后数据表上万我感觉很轻松,后续需要单独对数据库进行优化
而且如果不是location区块修改,是对 server修改的话我不知道设置放在底部
会不会生效,稍等我去测试,如果不生效的话实现起来就需要搭配sql语句来计算行数偏移,cpu应该很难顶
10楼 iiss 昨天19:01
这个确实可以实现增删操作但是改的话还是要对相应的规则解析,然后替换,虽然简单了很多但是用户变多操作 ...
你自己自己找找第三方的库,肯定有的,这种需求不是非常个性化,总有合适你的库。
实在没找到可以自己写个解析,当成个yml文件操作就好了
12楼 Backkom 昨天21:01
你想复杂了 只需要通过注释分区 每次操作重新生成分区块内容整块换掉即可 根本不需要解析
这块内容操作也 ...
了解了,注释分区,提前定义分区下多少行是什么数据,那一些操作我需要记录在数据库里,防止修改空数据。。又要改数据库了。。
13楼 zc_cz 昨天21:41
这个场景一般是用lua来实现。
14楼 Backkom 昨天21:43
这个场景一般是用lua来实现。
15楼 eMGG 昨天23:33
openresty,直接写lua加逻辑实现动态处理。这种方案避免了reload。如果是nginx的reload方案,一般都是conf模板文件,就是固定位置注释直接替换,数据库存动态增添的规则。然后每次变更数据库数据结合模板直接覆盖,不需要考虑解释问题。
16楼 Backkom 29分钟前
openresty,直接写lua加逻辑实现动态处理。这种方案避免了reload。如果是nginx的reload方案,一般都是conf ...
已经决定用sql生成配置文件了,大佬说的我也考虑了,高频读还要保证稳定redis可以不用考虑(主要是要配置redis我不会),mysql也不行,我的认知里面只有一个mongodb可以实现,但是用lua即使使用线程池性能也依旧不会比nginx直接读入配置文件更好。u大概会天天100%吧哈哈
现在的话和写解释器相比虽然工程量小一点但是原理感觉还是差不多
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。
