set build_time="%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%"
set build_time=%build_time: =0%
作者归档:xinlu
node的typescript的常用操作
1.安装node版本,建议选择v8.11.3版本。
https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi
2.安装visual studio code,选择最新版。
【npm的所有命令,请不要powershell中执行,目前还不知道为什么在本人环境发现在执行npm config set注册下载源时,会出错,且错得很离谱。故需要用cmd.exe来解决。】
3.安装全局组件。
npm install -g typescript
npm install -g pm2
npm install -g ts-node
4.安装本地组件
npm install
5.如果觉得安装有问题,可以直接清理npm缓存及组件。
%appdata%/npm和%appdata%/npm
ssh的连接复用
Host mini
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster auto
ControlPersist yes
HostName 192.168.10.104
Port 22
User abc
woweb的yii2容器化服务部署
version: '3.1'
networks:
default:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "false"
ipam:
driver: default
config:
- subnet: 192.168.57.0/24
services:
mysql:
image: mysql:5.5.60
restart: always
environment:
MYSQL_ROOT_PASSWORD: abc3.0123
# links:
ports:
- 13306:3306
# 13306端口是补人使用的,不能随便修改。
volumes:
- ./data/share/localtime:/etc/localtime:ro
- ./data/share/timezone:/etc/timezone:ro
- ./data/mysql/data:/var/lib/mysql
php:
image: yiisoftware/yii2-php:7.2-fpm
restart: always
ports:
- 9900:9000
links:
- mysql:mysql
extra_hosts:
- mysql.woterm.com:abc.24.129.221
depends_on:
- mysql
volumes:
- ./data/share/localtime:/etc/localtime:ro
- ./data/share/timezone:/etc/timezone:ro
- ./data/wwwroot:/home/wwwroot
- ./data/wwwlogs:/home/wwwlogs
- ./../../woweb:/home/wwwroot/woweb
# php-fpm运行的用户为www-data,需要将wwwroot的权限为[chmod a+w ]
nginx:
image: nginx:1.13.6
restart: always
ports:
- 80:80
links:
- mysql
- php
depends_on:
- mysql
- php
volumes:
- ./data/share/localtime:/etc/localtime:ro
- ./data/share/timezone:/etc/timezone:ro
- ./data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro
- ./data/nginx/conf/vhost:/etc/nginx/vhost:ro
- ./data/wwwroot:/home/wwwroot
- ./data/wwwlogs:/home/wwwlogs
- ./../../woweb:/home/wwwroot/woweb
ftp:
image: stilliard/pure-ftpd
restart: always
ports:
- "21:21"
volumes:
- ./data/vsftp:/home/vsftp
environment:
FTP_USER_NAME: uftp
FTP_USER_PASS: xxxxxxx
FTP_USER_HOME: ./data/vsftp/home
mongo分片及副本集搭建例子
https://github.com/senssei/mongo-cluster-docker
基于上面仓库,改造了一个副本集。
https://github.com/kxtry/mongo-cluster-docker
1.副本集docker-compose脚本
version: '3'
services:
mgoprimary:
container_name: "mgoprimary"
image: mongo:4.2
ports:
- "27017:27017"
command: mongod --replSet vmlocal --port 27017 --oplogSize 16
links:
- mgoreplica1:mgoreplica1
- mgoreplica2:mgoreplica2
restart: always
extra_hosts:
- "mgo.db.com:{{extern_ip}}"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./data/mgoprimary/data:/data/db
mgoreplica1:
container_name: "mgoreplica1"
image: mongo:4.2
ports:
- "27018:27017"
command: mongod --replSet vmlocal --port 27017 --oplogSize 16
restart: always
extra_hosts:
- "mgo.db.com:{{extern_ip}}"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./data/mgoreplica1/data:/data/db
mgoreplica2:
container_name: "mgoreplica2"
image: mongo:4.2
ports:
- "27019:27017"
command: mongod --replSet vmlocal --port 27017 --oplogSize 16
restart: always
extra_hosts:
- "mgo.db.com:{{extern_ip}}"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./data/mgoreplica2/data:/data/db
setup-vmlocal:
container_name: "setup-vmlocal"
image: mongo:4.2
depends_on:
- "mgoprimary"
- "mgoreplica1"
- "mgoreplica2"
extra_hosts:
- "mgo.db.com:{{extern_ip}}"
links:
- mgoprimary:mgoprimary
- mgoreplica1:mgoreplica1
- mgoreplica2:mgoreplica2
volumes:
- ./scripts:/scripts
environment:
- MONGO1=mgo.db.com:27017
- MONGO2=mgo.db.com:27018
- MONGO3=mgo.db.com:27019
- RS=vmlocal
entrypoint: [ "/scripts/setup.sh" ]
3.与docker-compose.yml相同子目录下的./scripts/setup.sh脚本
#!/bin/bash
mongodb1="${MONGO1}"
mongodb2="${MONGO2}"
mongodb3="${MONGO3}"
echo "Waiting for startup.."
until mongo --host ${mongodb1} --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)' &>/dev/null; do
printf '.'
sleep 1
done
echo "Started.."
echo setup.sh time now: `date +"%T" `
mongo --host ${mongodb1} <
3.构建脚本build_cluster.sh
#!/bin/sh
path_current=`pwd`
path_script=$(cd "$(dirname "$0")"; pwd)
mode=$1
extern_ip=$2
case "$mode" in
'build')
if [ -f $path_script/docker-compose.yml ]; then
echo 'the docker-compose.yml had been exist. if you want to continue, remove it.'
exit 1
fi
/bin/cp $path_script/docker-compose.yml.template $path_script/docker-compose.yml && echo "$path_script/docker-compose.yml" | xargs /bin/sed -i "s#{{extern_ip}}#$extern_ip#g"
echo 'success to build the file.'
;;
*)
basename=`basename "$0"`
echo "Usage: $basename {build}{extern_ip}"
echo "---$basename build 192.168.10.104"
;;
esac
Dockerfile的CMD和ENTRYPOINT的关系
以下示范,表示该形式下的CMD与ENTRYPOINT的关系。
CMD相当于应用程序的参数,ENTRYPOINT相当于应用的main入口或主程序入口。
FROM centos
CMD ["echo 'p222 in cmd'"] #传递给ENTRYPOINT的参数项。
ENTRYPOINT ["echo"] #应用入口,相当于程序的main函数
1.构建
docker build -t test .
2.执行以下指令执行默认的CMD命令。
docker run test
输出结果:
echo 'p222 in cmd'
3.修改程序输入参数
docker run test abct123
输出结果:
abct123
mongo的测试脚本
conn = new Mongo("mongodb://wps_credit:2f25da558f6e79c452a61bea4a8d762f@10.100.2.216:27017,10.100.2.217:27017,10.100.2.218/wps_credit?maxPoolSize=300&replicaSet=kae-mongo-test42");
db = conn.getDB("wps_credit");
var t1 = new Date();
printjson(db.getCollectionNames());
var t2 = new Date().getTime();
printjson(t1, t2, t2 - t1);
Telnet服务安装
yum install telnet-server -y
yum list|grep telnet
开启服务
systemctl start telnet.socket
GITEE码云域名解析绑定
最近GITEE码云域名被停止解析。只能绑hosts了
212.64.62.174 gitee.com
Ubuntu14.04的Qt编译环境
报错When executing step “Make”
sudo apt-get install build-essential