nginx配置文件生成完成批量配置

1.创建模板

worker_processes  1;

events {
    worker_connections  1024;
}
stream {
	server {
        listen listen-port;
        proxy_pass ip:port;
		proxy_connect_timeout 2s;
    }
#foreach($port in [9000..9009])
    server {
        listen $port;
        proxy_pass ip:$port;
		proxy_connect_timeout 2s;
    }
#end
}

2.执行模板生成

public static String getTempContent(Dict dict, String content) throws IOException {

		// 映射模板对象
		final Map<String, Object> map = Convert.convert(new TypeReference<Map<String, Object>>() {
		}, dict);
		// 初始化并取得Velocity引擎
		VelocityEngine ve = new VelocityEngine();
		ve.init();
		// 取得velocity的模版内容, 模板内容来自字符传

		// 取得velocity的上下文context
		VelocityContext context = new VelocityContext(map);
		// 输出流
		StringWriter writer = new StringWriter();
		// 转换输出
		ve.evaluate(context, writer, "", content); // 关键方法

		System.out.println(writer.toString());
		return writer.toString();
	}
    public static void main(String[] args) {
        getTemplates();
    }

    public static void getTemplates() {
        String str = ResourceUtil.readUtf8Str("nginx_config.vm");
        try {
            String value = VelocityUtils.getTempContent(new Dict(),str);
            //System.out.println(value);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.29</version><!--$NO-MVN-MAN-VER$-->
        </dependency>
posted @ 2023-04-21 16:00  田园将芜胡不归啊  阅读(32)  评论(0编辑  收藏  举报