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.
Kategori | Requirements, Conventions or Software Version Used |
---|---|
Sistem | Herhangi bir Linux dağıtımı |
Yazılım | Debian,Ubuntu,Jekyll,Nginx,Git,Ruby,Bundler,systemd |
Diğer | Linux 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
- 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 - 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. - Jekyll’i Systemd Hizmeti Olarak Ayarlayın
Create a new systemd service file for Jekyll. Make sure that you get theWorkingDirectory
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;
}
}
- 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 - 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.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.