hexo 部署到自己的服务器

之前我的 hexo 博客都是部署在 github 上,但是偶尔会访问不到,并且会有访问速度慢等问题,在前几天学完 dockernginx 之后呢,自己尝试了一下部署到自己的服务器,发现成功了,特分享一下操作流程

我们知道 hexo 挂在 Github 的仓库中,仓库里有如下内容
在这里插入图片描述
这个目录结构和 hexo 编译出来的 public 文件夹其实是一样的

在这里插入图片描述
我们只需要把这个目录上传到我们的服务器即可,可以选择 nginx 做静态资源映射,也可以使用 Tomcatwebapps,这里就演示一下 nginx 吧,直接从 docker 上拉一个

1、前期准备

mkdir -p /usr/doc/nginx/hexo/public
cd /usr/doc/nginx
vim nginx.conf

nginx.conf 的内容:

user  nginx;
worker_processes  1;

error_log   /var/log/nginx/error.log warn;
pid         /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include         /etc/nginx/mime.types;
    default_type    application/octet-stream;
    log_format  main    '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout   65;
    #gzip   on;
    server {
        listen 80;
        server_name 192.168.164.128;
        location / {
            root    /usr/share/nginx/hexo;
        }
    }
    include /etc/nginx/conf.d/*.conf;
}

2、容器初始化(请先安装 docker)

2.1、拉取镜像

docker pull nginx

2.2、创建容器

docker run -d\
 -p 81:80\
 -e TZ="Asia/Shanghai"\
 --restart=always\
 --name nginx\
 -v /usr/doc/nginx/nginx.conf:/etc/nginx/nginx.conf\
 -v /usr/doc/nginx/hexo/public:/usr/share/nginx/hexo\
 nginx
-----------------------------------------------------
# 说明
	# -p 指定暴露的端口,{暴露端口}:{容器内部端口}
	# -e TZ 指定时区
	# --restart 服务器重启后可自动启动
	# --name 容器名
	# -v /usr/doc/nginx/nginx.conf:/etc/nginx/nginx.conf
	#	 将服务器的 /usr/doc/nginx/nginx.conf 挂载到容器的 /etc/nginx/nginx.conf
	# -v /usr/doc/nginx/hexo/public:/usr/share/nginx/hexo
	#	 将服务器的 /usr/doc/nginx/hexo/public 挂载到容器的 /usr/share/nginx/hexo
	#	 因为 nginx.conf 里配置过, 所以 /usr/share/nginx/hexo 就会被 nginx 作为静态资源代理展示

3、部署

3.1、打开 hexo 主目录,可以看到编译出来的 public 文件夹

在这里插入图片描述

3.2、上传

使用 scp 工具将 public 文件夹上传到 /usr/doc/nginx/hexo/

# scp 格式
scp 本地文件路径 服务器用户名@服务器域名或IP地址:服务器目录 		# 上传文件
scp -r 本地文件夹路径 服务器用户名@服务器域名或IP地址:服务器目录	# 上传文件夹

如下:
在这里插入图片描述
回到服务器中查看 /usr/doc/nginx/hexo/public 就会有上传的内容了
在这里插入图片描述

结束

至此,读者便可访问自己服务器了,如我的域名为 cying.ionginx 暴露的端口为 81,所以在浏览器地址栏输入 cying.io:81 即可访问
在这里插入图片描述
Github 博客 的访问效果是一样的
在这里插入图片描述
最后,读者可以在 hexo 项目的跟目录下写一个 upload.bat 脚本文件,免得每次手动写 scp 命令,如:

scp -r public root@Cying.io:/usr/doc/nginx/hexo/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值