1. 程式人生 > >多環境組合配置

多環境組合配置

需要的軟體 centos7 docker nginx nodejs

    docker run --name live \
    -p 8089:8080  \
    -v /root/webapp/live:/usr/local/tomcat/webapps \
    -v /root/webapp/live/logs:/usr/local/tomcat/logs  \ 
    --restart=on-failure:3 \
    -d tomcat:7.0 

安裝dns伺服器 (docker bind) bind 引數介紹

逗號隔開多個 WILDCARD_DNS='tld1=1.1.1.1[=tld],tld2=2.2.2.2[=tld2]'


 docker run  \
    -p 53:53/tcp \
    -p 53:53/udp \
    -e WILDCARD_DNS='zm.gaiay.net.cn=192.168.31.100' \
    -e DNS_FORWARDER='192.168.0.231' \
	--name dns \
	-d \
	-t cytopia/bind
	

清理DNS快取

ipconfig /flushdns

dns 查詢示例


nslookup www.baidu.com

C:\Users\WangYa>nslookup www.baidu.com
伺服器:  UnKnown
Address:  192.168.31.100

非權威應答:
名稱:    www.a.shifen.com
Addresses:  119.75.213.61
          119.75.216.20
Aliases:  www.baidu.com

代理指令碼


console.log("服務初始化............................");
const express = require('express');
const app = express();
const proxy = require('http-proxy-middleware');
let port = 80;


const mysql = require('mysql');


function loadConfig() {
    let connection = mysql.createConnection({
        host: '192.168.0.227',
        port:'16234',
        user: 'root',
        password: '1234',
        database: 'proxy'
    });
    connection.connect();
    connection.query(" select * from config where `enable`=1  order by  length(path) desc ", function (e, rs) {
        for (let row of rs) {
            console.log(row.path + " " + row.target);
            app.use(row.path, proxy({target: row.target, changeOrigin: true}));
        }
        // 其他走公共
        app.use('/', proxy({target: 'https://zm.gaiay.net.cn', changeOrigin: true}));
        app.listen(port);
        console.log('啟動完成:' + port)

    });
    connection.end();
}

loadConfig();



pm2 管理工具


npm i pm2  -g 

pm2 start app.js

pm2 monit
pm2 list
pm2 stop    
pm2 restart 
pm2 delete