我有以下内容:
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中这样做,但我愿意接受其他选择。
答案 0 :(得分:1)
使用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
保存已修改的文件并退出。