需要帮助使用 NGINX 设置 Hexo 博客
Need help setting up Hexo Blog with NGINX
我需要帮助在我的 Droplet 上设置博客。我已经使用 Hexo 在 blog.mysite.io 成功部署了博客,但问题是 hexo 博客将其重定向到 blog.mysite.io/blog/public。现在,我知道为什么会这样了,因为我将博客配置设置为:
_config.yml
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://blog.mysite.io/
root: /blog/public
permalink: :year/:month/:day/:title/
我的博客在/www/data/blog。我将根目录设置为 /blog/public 的原因是,如果我不这样做,css 和其他所有内容都会中断。该博客运行良好,但只有 HTML 部分。
这里是 nginx vhosts.conf 配置:
server {
server_name blog.mysite.io;
root /www/data/blog/public;
index index.html index.htm;
location /
{
proxy_pass http://127.0.0.1:4000;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/blog.mysite.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/blog.mysite.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
上述设置以外的任何设置都会导致站点完全中断或路径不匹配。
那么,我怎样才能直接在 blog.mysite.io?
提供我的网站呢?
需要在 Hexo 配置中将 root: /blog/public
替换为 root: /
。
Nginx 可以使用 root /www/data/blog/public;
指令找到您网站目录的完整路径。
您还可以在 Nginx 配置的末尾添加此设置:
location / {
# for static content
root /www/data/blog/public;
index index.html;
# custom 403/404 redirect
error_page 403 404 =404 /404/;
}
我需要帮助在我的 Droplet 上设置博客。我已经使用 Hexo 在 blog.mysite.io 成功部署了博客,但问题是 hexo 博客将其重定向到 blog.mysite.io/blog/public。现在,我知道为什么会这样了,因为我将博客配置设置为:
_config.yml
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://blog.mysite.io/
root: /blog/public
permalink: :year/:month/:day/:title/
我的博客在/www/data/blog。我将根目录设置为 /blog/public 的原因是,如果我不这样做,css 和其他所有内容都会中断。该博客运行良好,但只有 HTML 部分。
这里是 nginx vhosts.conf 配置:
server {
server_name blog.mysite.io;
root /www/data/blog/public;
index index.html index.htm;
location /
{
proxy_pass http://127.0.0.1:4000;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/blog.mysite.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/blog.mysite.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
上述设置以外的任何设置都会导致站点完全中断或路径不匹配。 那么,我怎样才能直接在 blog.mysite.io?
提供我的网站呢?需要在 Hexo 配置中将 root: /blog/public
替换为 root: /
。
Nginx 可以使用 root /www/data/blog/public;
指令找到您网站目录的完整路径。
您还可以在 Nginx 配置的末尾添加此设置:
location / {
# for static content
root /www/data/blog/public;
index index.html;
# custom 403/404 redirect
error_page 403 404 =404 /404/;
}