1、前言

最近在项目中用nginx做反向代理,需要动态生成nginx的配置。大概流程是用户在页面上新增域名、http或https协议以及端口信息,后台会根据域名自动生成一个nginx的server配置,在nginx.conf配置文件中使用include将所有的server配置加载进来。遇到一个问题就是如何动态生成nginx的配置,以及配置更新。在此之前也接触过配置生成及更新,当时配置的格式都是基于xml的,使用protobuf与xml结合,先采用protobuf定义好配置的数据结构,然后将protobuf转换为xml配置文件。配置更新通过判断配置文件的md5是否发生变化进行。而如今接触的配置是nginx的配置,是一套自定义的配置。看了一眼nginx的配置源码,用一个void**** conf 来表示,顿时吓死宝宝了,膜拜作者编程技能。nginx配置代码内存组织是相当的牛逼,通用性非常强,有兴趣可以认真研究一下。我要自动生成的配置是如下所示:

复制代码
upstream www_test {
    server 196.75.121.112:443; (动态生成) }

server {
    listen 443 ssl; (动态生成) server_name  www.test.com; (动态生成) ssl_protocols TLSv1 TLSv1.1 TLSv1.2;; 
    ssl_certificate /home/build/openresty/nginx/cert/dealssl/www.bestenover.com.crt; (动态生成) location / { 
        proxy_pass https://
        		

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式

我想了解如何学习

姓名:
手机:
留言: