我有以下几点:
server {
listen IP;
location /nginx-status {
stub_status on;
access_log off;
allow $IP;
deny all;
}我的问题是,我需要专门在我的nginx.conf文件的HTTP块中插入这个代码。
这是nginx配置通常的样子:
http://wiki.nginx.org/FullExample
我不知道这是不是可能。我猜如果我在http代码块后面插入会更容易些?
理想情况下,我希望在BASH中这样做,但我对其他选择持开放态度。
发布于 2013-07-26 03:32:07
使用vim的一种方法。假设nginx.conf包含您在链接中提供的数据,infile包含您要添加的内容:
vim -u NONE -N -c '
set backup |
bn |
execute "normal ggyG" |
bn |
execute "normal! gg/^\\vhttp\>\<CR>f{%P" |
xa
' nginx.conf infile它是如何工作的?
set backup创建nginx.conf的备份,并附加一个~。原件将被就地修改。
两个文件之间的bn会发生变化。第一个execute命令复制infile的所有内容,第二个bn返回到nginx文件。
第二个execute命令搜索以http开头的行,将光标设置在左花括号(f{)中,并使用%将光标神奇地设置在右大括号中。然后使用P粘贴在前面的execute命令中保存的内容。
xa保存修改后的文件并退出。
https://stackoverflow.com/questions/17866478
复制相似问题