1、前言

最近在項目中用nginx做反向代理,需要動態(tài)生成nginx的配置。大概流程是用戶在頁面上新增域名、http或https協(xié)議以及端口信息,后臺會根據(jù)域名自動生成一個nginx的server配置,在nginx.conf配置文件中使用include將所有的server配置加載進來。遇到一個問題就是如何動態(tài)生成nginx的配置,以及配置更新。在此之前也接觸過配置生成及更新,當時配置的格式都是基于xml的,使用protobuf與xml結(jié)合,先采用protobuf定義好配置的數(shù)據(jù)結(jié)構(gòu),然后將protobuf轉(zhuǎn)換為xml配置文件。配置更新通過判斷配置文件的md5是否發(fā)生變化進行。而如今接觸的配置是nginx的配置,是一套自定義的配置??戳艘谎踤ginx的配置源碼,用一個void**** conf 來表示,頓時嚇死寶寶了,膜拜作者編程技能。nginx配置代碼內(nèi)存組織是相當?shù)呐1?,通用性非常強,有興趣可以認真研究一下。我要自動生成的配置是如下所示:

復(fù)制代碼
upstream www_test {
    server 196.75.121.112:443; (動態(tài)生成) }

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

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

我想了解如何學(xué)習(xí)

姓名:
手機:
留言: