00:00:00
发布博客
发布博客
方式1:CNB+Eo Pages(推荐)
这里推荐使用CNB+Eo Pages,非常丝滑。
《CNB配合eo托管静态博客》(腾讯的eo Pages也的确丝滑)
具体步骤:
备注:
CNB是腾讯推出的云原生构建产品,EO是腾讯推出的免费cdn;
方式2:传统的云服务器部署
传统的云服务器部署,然后利用nginx代理。
(1)自己电脑得提前安装好git和nodejs:
(2)在自己winodws pc上部署Teek
bash
#来到自己电脑d盘
cd /d/
#项目拉取
git clone https://cnb.cool/onedayxyy/vitepress-theme-teek-one-public.git
cd /d/vitepress-theme-teek-one-public
#依赖安装(只能用 pnpm 安装依赖)
pnpm install
#项目本地运行
pnpm docs:dev #本地运行
#项目打包
pnpm docs:build
执行pnpm docs:dev
后,浏览器默认就会打开一个http://localhost:5173/
网页:(恭喜你,此时你的Teek博客已经部署完成了)
(3)将Teek生成的静态文件推送到云服务器的nginx站点目录下
利用pnpm docs:build
命令打包好静态文件,然后把docs\.vitepress\dist
路径下的内容直接传输到自己的云服务器的nginx站点目录下,这样其它小伙伴就可以通过域名来访问你的博客了。
特别注意:
一般情况,自己的云服务器都是通过nginx来代理静态站点的,但是这里需要单独做一个额外的配置,否则自己的Teek博客部署到云服务器后,刷新url会报404。
具体配置方法如下:
vim /etc/nginx/conf.d/onedayxyy.cn.conf
(这里编辑自己的nginx配置文件就好)
bash
location / {
index index.html index.htm;
try_files $uri $uri.html $uri/ =404; #添加这一行
……
}
配置后重启nginx: nginx -s reload
nginx完整配置如下:
bash
[root@wiki ~]# cat /etc/nginx/conf.d/onedayxyy.cn.conf
server {
listen 80;
server_name onedayxyy.cn;
#配置https重定向
return 301 https://$host$request_uri;
}
server {
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
listen 443 ssl;
server_name onedayxyy.cn;
root /root/rsync/rsync-vitepress/dist;
location / {
index index.html index.htm;
try_files $uri $uri.html $uri/ =404;
# non existent pages
error_page 404 /404.html;
# a folder without index.html raises 403 in this setup
error_page 403 /404.html;
# adjust caching headers
# files in the assets folder have hashes filenames
location ~* ^/assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
location /images {
alias /images;
index index.html;
valid_referers none blocked *.onedayxyy.cn onedayxyy.cn *.gitee.com gitee.com *.cnb.cool cnb.cool *.sleele.com localhost 127.0.0.1;
if ( $invalid_referer ) {
# 如不满足,指定访问如下资源
rewrite ^/ https://onedayxyy.cn/error/1.png;
return 403;
}
}
location /error {
autoindex on; # 启用目录索引
alias /FdangDaoLianImages;
index index.html; # 默认显示index.html文件,如果没有则列出目录内容
}
ssl_certificate /etc/letsencrypt/live/onedayxyy.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/onedayxyy.cn/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000";
access_log /var/log/nginx/onedayxyy.cn.https.log;
}
(4)验证
访问自己域名:
扩展
如何将本地Teek生成的静态文件推送到云服务器的nginx站点目录,有多种办法(见如下详细链接):
- shell一键发布 (shell一键发布版内容到teek网站)
- 或者利用其它传输软件;(例如sftp,ftp,winscp……)
结束。