Cirry's Blog

部署Astro博客到Debian11服务器上

2023-05-30
linux
最后更新:2024-04-05
2分钟
333字

之前我是用时gitea + drone的方式自动部署博客网站,后来因为远程服务器打包有点慢,改成本地使用脚本部署的方式了。

步骤

1.将以下脚本复制到代码根目录中,命名为:deploy.sh

1
#!/bin/bash
2
3
npm run build # 打包网站
4
5
# 本地dist目录的路径
6
LOCAL_DIR="./dist"
7
8
# 打包后的文件名
9
TAR_FILE="dist.tar.gz"
10
11
# 远程服务器的IP地址或主机名[需要修改]
12
SERVER="159.75.81.xxx"
13
14
# 远程服务器的用户名[需要修改]
15
USERNAME="cirry"
12 collapsed lines
16
17
# 远程服务器的目标路径[需要修改]
18
REMOTE_DIR="/home/astro/blog"
19
20
# 打包本地dist目录
21
tar -zcvf $TAR_FILE $LOCAL_DIR
22
23
# 上传打包后的文件到远程服务器
24
scp $TAR_FILE $USERNAME@$SERVER:$REMOTE_DIR
25
26
# 在远程服务器上解压缩文件并删除压缩包
27
ssh $USERNAME@$SERVER "cd $REMOTE_DIR; rm -rf $REMOTE_DIR/dist;tar -zxvf $TAR_FILE; rm $TAR_FILE"

2.在vscode中开启命令行,赋予执行权限chmod +x ./deploy.sh

3.输入./deploy.sh就可以自动部署到服务器中了。

4.然后代理/home/astro/blog/dist 目录为博客网站就可以了,这里以Caddy举例。

在Caddy中的Caddyfile配置方式应如下:

1
cirry.cn {
2
root * /home/astro/blog/dist
3
file_server
4
}

提示:在使用脚本连接服务器的时候会提示需要输入密码,可以提前设置ssh无密登录,可以参考这篇文章sshd连接设置免密登陆

本文标题:部署Astro博客到Debian11服务器上
文章作者:Cirry
发布时间:2023-05-30
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
感谢大佬送来的咖啡☕
alipayQRCode
wechatQRCode