Debian ve Ubuntu Sistemlerinde Nginx ile Jekyll Kurulumu

Jekyll gibi modern web geliştirme araçları sayesinde statik bir web sitesi oluşturmak ve barındırmak hiç bu kadar kolay olmamıştı. Jekyll, hızlı, güvenli ve bakımı kolay web siteleri oluşturmanıza olanak tanıyan, Ruby tarafından desteklenen statik bir site üreticisidir. Güçlü bir HTTP sunucusu ve ters proxy olan Nginx ile birleştirildiğinde, güçlü ve esnek bir web sitesi dağıtım mekanizmasına sahip olursunuz. Bu kılavuz, Jekyll’in Nginx ile Debian ve Ubuntu sistemlerinde ters proxy olarak nasıl kurulacağını açıklar.

KategoriRequirements, Conventions or Software Version Used
SistemHerhangi bir Linux dağıtımı
YazılımDebian,Ubuntu,Jekyll,Nginx,Git,Ruby,Bundler,systemd
DiğerLinux sisteminize root olarak veya sudo komutu aracılığıyla ayrıcalıklı erişim.
Ek Bilgi# – verilen linux komutlarının, doğrudan bir kök kullanıcı olarak veya sudo komutu kullanılarak kök ayrıcalıklarıyla yürütülmesini gerektirir
$ – verilen linux komutlarının ayrıcalıklı olmayan düzenli bir kullanıcı olarak yürütülmesini gerektirir

Adım adım rehber

  1. Gerekli Yazılımı Yükleyin

    Öncelikle sisteminizi güncelleyin ve gerekli yazılım paketlerini kurun:
    # apt update
    # apt install ruby-full build-essential zlib1g-dev nginx git -y

    Ardından, Jekyll ve Bundler’ı kurun:
    # gem install jekyll packager
  2. Jekyll Sitenizi Oluşturun
    Aşağıdaki komutu kullanarak yeni bir Jekyll sitesi oluşturun. Komutu sitenizi barındırmak istediğiniz dizinden çalıştırın:
    $ jekyll new mysite

    Bir terminalde jekyll new mysite komutunu çalıştırdığınızda, mysite adlı bir dizinde yeni bir Jekyll sitesi oluşturulacaktır. Bu dizinin konumu, komutu çalıştırdığınızda dosya sisteminizin neresinde olduğunuza bağlıdır.
    Örneğin, komutu çalıştırdığınızda giriş dizininizdeyseniz (tipik bir kullanıcı için /home/kullanıcıadınız veya root kullanıcı için /root), site /home/kullanıcıadınız/sitem veya /root/ konumunda olacaktır.
  3. Jekyll’i Systemd Hizmeti Olarak Ayarlayın
    Create a new systemd service file for Jekyll. Make sure that you get the WorkingDirectory path right as per the step above: # nano /etc/systemd/system/jekyll.service Then, add the following content:
    [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

Son olarak, Jekyll hizmetini etkinleştirin ve başlatın:

# systemctl enable jekyll
# systemctl start jekyll

Nginx’i Ters Proxy Olarak AyarlayınVarsayılan Nginx yapılandırmasını kaldırın:
Yeni bir Nginx yapılandırma dosyası oluşturun:

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

Ve yeni web siteniz için alan adınız olarak doğru bir server_name ile aşağıdaki içeriği ekleyin:

[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;
    }
}
  1. Son olarak, yeni yapılandırmayı etkinleştirin ve Nginx’i yeniden başlatın:
    # ln -s /etc/nginx/sites-available/jekyll /etc/nginx/sites-enabled/
    # nginx -t # systemctl restart nginx
  2. Jekyll Sitenizi Test Etme Kurulumu tamamladıktan sonra, her şeyin beklendiği gibi çalıştığını doğrulamak çok önemlidir. Bir web tarayıcısında alan adınızı ziyaret ederek Jekyll sitenizi test edebilirsiniz. Jekyll sitenizin başarıyla yüklendiğini görün. Değilse, DNS ayarlarınızın alan adınızı sunucunuzun IP adresine doğru şekilde gösterdiğinden ve Nginx ile Jekyll hizmetinin sunucuda düzgün çalıştığından emin olun.
    Ek olarak, herhangi bir sorunu gidermenize yardımcı olabilecek herhangi bir hata mesajı için Nginx günlüklerini kontrol edin:
    # journalctl -u nginx
    Ve Jekyll hizmet günlükleri:
    # journalctl -u jekyll
    Bu adımları izleyerek, Jekyll sitenizin çalıştığını ve erişilebilir olduğunu onaylayabilirsiniz.

Yazının orijinalini buradan okuyabilirsiniz.