nginx发布hexo静态资源
介绍
有一台闲置的电脑,只运行了nas,刚好我又有一个hexo博客,用nginx发布的话,在家里访问就秒响应,一点即开
部署
docker部署,实现系统隔离,这样作为物理机的电脑就算配置问题重置环境也不会特别麻烦;使用dockercompose.yml,方便重建。
docker安装可参考docker安装
创建配置文件
- nginx配置文件
- nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33mkdir /var/html/w00123/nginx/conf.d
vim /var/html/w00123/nginx/nginx.conf
user root;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
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;
include /etc/nginx/conf.d/*.conf;
} - default.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19vim /var/html/w00123/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ = 404;
}
# 静态资源缓存规则(7 天有效期)
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 7d; # 缓存有效期 7 天
add_header Cache-Control "public, max-age=604800"; # 604800 秒 = 7 天
access_log off; # 关闭静态资源访问日志,减少磁盘IO
}
}
- dockercompose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23vim /var/html/w00123/dockercompose.yml
version: '3.8' # Compose 文件版本,适配主流 Docker 版本
services:
nginx-hexo: # 服务名称,可自定义
image: nginx:latest # 使用官方最新版 Nginx 镜像
container_name: nginx-hexo-web # 容器名称,方便管理
ports:
- "8080:80" # 宿主机80端口映射到容器80端口
volumes:
# 挂载 Hexo 生成的静态网页目录(只读)
- /var/html/w00123/public:/usr/share/nginx/html:ro
# 挂载自定义 Nginx 配置目录(只读)
- /var/html/w00123/nginx/conf.d:/etc/nginx/conf.d:ro
- /var/html/w00123/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
restart: always # 容器意外停止时自动重启
# 可选:限制容器资源使用,避免占用过多服务器资源
deploy:
resources:
limits:
#cpus: '0.5'
memory: 1G
生成静态资源
命令生成静态网页public后放到目录/var/html/w00123/pulic1
2hexo cl
hexo g
拉起容器
可以手动拉镜像再拉容器,拉取镜像命令1
docker pull nginx
拉起容器命令,在dockercompose.yml目录下执行1
docker compose up -d
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HAHA!





