部署搭建
通过 rsync
+ pm2
主动上传,部署服务
rsync 服务器
局部企业内网不容许间接 ssh
近程开发机,且没有开发机 root
权限,针对文件上传需要,所以在开发机上搭建 rsync
服务
配置文件
<code class="bash"># 相干配置文件寄存地址,依据本人习惯 mkdir -p $HOME/local/etc # rsync 配置文件 touch $HOME/local/etc/rsyncd.conf # rsync 认证数据 touch $HOME/lcoal/etc/rsyncd.secrets # rsync 定义 rsync 服务器信息, 依据须要配置,可疏忽 touch $HOME/local/etc/rsyncd.motd
rsyncd.conf
配置
更多配置信息可查看 rsync 官网 或者应用
<code class="plain"># pid,lock 文件寄存地位 pid file = /home/fu/local/run/rsyncd.pid lock file = /home/fu/local/run/rsync.lock # rsyncd.motd 文件地位 motd file = /home/fu/local/etc/rsyncd.motd # 日志寄存地位 log file = /home/fu/local/var/log/rsync.log # 日志的配置 transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 # 端口,默认是873 port = 8873 # 启动用户 uid = work gid = work use chroot = no # 拜访限度 read only = false hosts allow=* # 最大练连贯数量 max connections = 5 # 最大超时工夫 timeout = 300 # 模块,可配置多个 # 根门路 path = /home/fu/devspace/code # rsync list 返回该模块 list=yes # 疏忽error ignore errors # 认证用户 auth users = codeuser # 认证凭证地址 secrets file = /home/fu/local/etc/rsyncd.secrets # 正文 comment = code direction # 同步时排除文件/文件夹 exclude = log .git
rsyncd.secrets
配置
rsync
认证凭证
以
username:password
模式,每行一个用户,可配置多个用户
示例:
<code class="plain">codeuser:password123 codeuser2:password321
启动
<code class="bash">rsync --daemon --config=/home/fu/local/etc/rsyncd.conf
pm2
装置
nodejs
以及npm
npm install pm2 -g
装置pm2
启动并监控以后文件夹
<code class="bash"># 进入目录 cd $HOME/devspace/code/process1 # 用pm2 启动过程,并设置监控以后文件夹,当文件变动时,主动重启,疏忽 `log` 文件夹 pm2 start ./run.sh --name precess --watch --ignore-watch="log"
更多用法见 pm2 官网
客户端
<code class="bash"># 穿插编译 Go 源码为可执行程勋 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -v -o process ./main.go # 上传到指定目录 # 通过 --password-file 指定客户端上认证文件,格局间接为 passowrd 没有用户名局部 # 此处rsyncd.secrets 文件内容为 `password123` # 如不应用该参数,须要手动输出明码 # 服务器地址格局如下 [rsync://]username@host::moduleName[/path] # rsync 协定名可疏忽 # host 为rsync 服务器地址 # moduleName 为rsyncd 配置中的模块名 # path 为模块配置相对路径 rsync -avzP --password-file=$HOME/local/etc/rsyncd.secrets --port=8873 process codeuser@$DEVTECH::code/process1