在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll

借助 Jekyll 等现代 Web 开发工具,创建静态网站并托管它从未如此简单。 Jekyll 是一个由 Ruby 提供支持的静态站点生成器,可让您创建快速、安全且易于维护的网站。当与 Nginx、强大的 HTTP 服务器和反向代理结合使用时,您将拥有强大且灵活的网站部署机制。本指南介绍了如何在 Debian 和 Ubuntu 系统上使用 Nginx 设置 Jekyll 作为反向代理。

在本教程中您将学习:

  • 如何在 Debian 和 Ubuntu 系统上安装流行的静态站点生成器 Jekyll 以及其他必要的软件包。

  • 创建一个新的 Jekyll 站点。

  • 将 Jekyll 设置为 systemd 服务,使其能够在启动时自动启动,并在崩溃时重新启动。

  • 将 Nginx 配置为 Jekyll 服务的反向代理。这有助于管理 HTTP 请求并优化性能。

  • 了解以非 root 用户身份运行服务对于增强系统安全性的重要性。

分步指南

  1. 安装所需软件
    首先,更新您的系统并安装所需的软件包:

    # apt update
    # apt install ruby-full build-essential zlib1g-dev nginx git -y
    

    然后,安装 Jekyll 和 Bundler:

    # gem install jekyll bundler
  2. 创建您的 Jekyll 网站
    使用以下命令创建一个新的 Jekyll 站点。从您希望托管站点的目录运行命令:

    $ jekyll new mysite
  3. 将 Jekyll 设置为 Systemd 服务
    为 Jekyll 创建一个新的 systemd 服务文件。确保您按照上述步骤获得了正确的 WorkingDirectory 路径:

    # nano /etc/systemd/system/jekyll.service

    然后,添加以下内容:

    [Unit]
    Description=Jekyll Service
    After=network.target
    
    [Service]
    Type=simple
    Restart=always
    RestartSec=1
    User=root
    WorkingDirectory=/home/yourusername/mysite
    ExecStart=/usr/local/bin/jekyll serve --host 0.0.0.0 --port 4000
    
    [Install]
    WantedBy=multi-user.target
    

    最后,启用并启动 Jekyll 服务:

    # systemctl enable jekyll
    # systemctl start jekyll
    
  4. 将 Nginx 设置为反向代理删除默认的 Nginx 配置:创建新的 Nginx 配置文件:

    # nano /etc/nginx/sites-available/jekyll

    添加以下内容并使用正确的 server_name 作为新网站的域名:

    [Unit]
    server {
        listen 80;
        listen [::]:80;
        server_name your-domain-name;
        
        location / {
            proxy_pass http://localhost:4000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    最后,启用新配置并重新启动 Nginx:

    # ln -s /etc/nginx/sites-available/jekyll /etc/nginx/sites-enabled/
    # nginx -t
    # systemctl restart nginx
    
  5. 测试您的 Jekyll 站点完成设置后,必须验证一切是否按预期运行。您可以通过在网络浏览器中访问您的域来测试您的 Jekyll 站点。在网络浏览器中,导航到您的域(将 your-domain-name 替换为您的实际域):

    $ wget http://your-domain-name

    您应该看到您的 Jekyll 站点已成功加载。如果没有,请确保您的 DNS 设置正确地将您的域指向服务器的 IP 地址,并且 Nginx 和 Jekyll 服务在服务器上正常运行。

    此外,请检查 Nginx 日志中是否有任何错误消息,这可能有助于您解决任何问题:

    # journalctl -u nginx

    Jekyll 服务日志:

    # journalctl -u jekyll

结论

通过遵循本指南中概述的步骤,您可以在 Debian 或 Ubuntu 系统上成功设置 Jekyll 并使用 Nginx 作为反向代理。此配置为部署和管理静态网站提供了高效的环境。

但是,请记住,虽然此设置提供了功能正常的 Web 服务,但默认情况下只能通过 HTTP 进行访问。在当今的数字环境中,使用 HTTPS 增强网站的安全性至关重要。它不仅可以保护您的网站与其访问者之间的通信,还可以与您的受众建立信任,甚至可以改善您网站的搜索引擎优化。因此,强烈建议在生产环境中使用受信任的 SSL 证书将 Nginx 配置为 HTTPS。

最后,虽然以 root 用户身份运行服务可能看起来更容易,但建议以专用非 root 用户身份运行服务以提高系统安全性。

©2015-2025 艾丽卡 support@alaica.com