MWeb自动部署博客

2022/06/12 posted in  工具

起因:

博客目前使用的MWeb来生成静态文件,每次写完博客上传的时候,操作路径都很繁琐,需要先打包,再使用ftp工具上传,然后登录服务器解压缩。过程耗时且麻烦。 而MWeb提供了自动化脚本功能,期望期望生成html后自动部署博客到阿里云服务器上,不需要再手动压缩,上传,解压缩的过程。

实践:

Mweb提供了自动化脚本的功能:

在网站目录上点击右键,选择编辑-->高级设置-->发布脚本 即可编辑自动化部署脚本

image-20220612202853466

image-20220612203041374

部署脚本很简单,可以直接使用下方脚本即可。

#!/bin/bash
# SFTP配置信息
# IP
IP=服务器IP
# 端口
PORT=22
# 用户名
USER=服务器用户名
# 密码
PASSWORD=服务器密码
# 需要上传的文件所在目录,博客的本地文件所在路径
CLIENTDIR=/Users/zhangzhonghua/Documents/坚果云/我的坚果云/MWebSite/张二蛋博客
# 上传到目标服务器的目录,博客的服务器路径
SEVERDIR=/wwwroot/xxxxxx

# 临时目录
TMP_DIR=/opt/tmp/blog

cd ${TMP_DIR}
cp -rf ${CLIENTDIR}/* . 

FILENAME="htmls.zip"
#压缩当前博客文件
zip -b${TMP_DIR} -r ${FILENAME} *
# 上传文件到服务器
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
cd ${SEVERDIR}/
lcd ${TMP_DIR}
put htmls.zip
by
EOF

# 服务器执行解压缩
ssh ${USER}@${IP} "cd ${SEVERDIR}; unzip -o ${FILENAME}"

# 完成部署

脚本填写完之后,后续部署即可通过: 右键--> 复制发布脚本命令并打开终端

image-20220612203354004

然后使用终端,粘贴命令,直接回车即可部署。

image-20220612203518571

过程:

操作方式很简单,但需要提前准备下环境:

  1. 上传过程使用的是lftp + sftp上传方式,所以需要先安装lftp。
  2. ssh远程执行服务器上的unzip命令,需要首先建立电脑与服务器的互信免登陆。

具体操作方式如下:

  1. 安装lftp

使用命令:sudo port install lftp 即可安装。

备注:port命令为MacPorts命令,MacPorts和apt-get、yum类似,用于在mac上安装些软件, 安装方式见:https://www.macports.org/install.php

  1. ssh设置与服务器互信免登陆
#### 生成密钥,一路回车即可。
ssh-keygen -t rsa -b 2048
### 拷贝密钥文件到服务器
ssh-copy-id 用户名@服务器IP		

然后使用ssh 用户名@服务器IP登录服务器试试看看,如果可以免密码登录,则证明已经设置成功。 如果仍需要密码,则往下看。

CentOS默认公钥登陆关闭状态需要开启,一般情况下,如果登录不成功,可确认下是否是公钥登录未开启。

## 编辑ssh的配置文件
vim /etc/ssh/sshd_config

##设置以下内容:
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/knownhost

重启ssh

service sshd restart

备注: 不同版本Centos命令不同。可关注。 参见:https://www.cyberciti.biz/faq/how-do-i-restart-sshd-daemon-on-linux-or-unix/

image-20220610104235640

重试 ssh 用户名@服务器IP 即可登录。

参考:

  1. ssh远程:https://unusebamboo.top/protocol/protocol-ssh-command/

  2. mweb发布静态网站:https://zh.mweb.im/how_to_use_shell_script.html

  3. ssh免登陆设置

    1. https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
    2. https://developer.aliyun.com/article/520697
  4. ssh上传下载:https://www.jianshu.com/p/6fb464f962bb

  5. MacPorts安装:https://www.macports.org/install.php

关于我及张二蛋又要扯蛋了

    一个不务正业的程序猿及这个程序猿写字的地方,这里可能有技术,有理财,有历史,有总结,有生活,偶尔也扯扯蛋,妥妥的杂货铺,喜欢可关注。
    酒已备好,等你来开
图片