• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

rsyncpm2-上传部署服务

linux 搞代码 3年前 (2022-03-03) 23次浏览 已收录 0个评论
文章目录[隐藏]

部署搭建

通过 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

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:rsyncpm2-上传部署服务

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址