CentOS 7ye Hexo yükleyin

Hexo, Node.js ile oluşturulmuş statik bir blog platformudur. Jekyll gibi diğer statik blog platformlarına kıyasla hızlı.

Bu derste, bir Hexo blogunun nasıl oluşturulacağını ve dağıtılacağını anlatacağım. Adımlar oldukça basittir, CentOS 7, Node.js 4.4 için yazılmıştır. Yerel makinem Fedora 23.

Ön şartlar

Yeni kurulmuş bir CentOS 7 sistemi ile başlıyoruz. Aşağıdaki yazılım paketleri gereklidir:

  • gcc-c ve gcc-c ++
  • yap ve git
  • nginx
  • openssl
  • nodejs ve npm

Kök olarak veya sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açmanız gerekir.

Yardımcı programları yükleyin

$ yum install -y gcc gcc-c++ make git openssl

Nginx'i yükle

nginxVarsayılan depodan yükleme yapabilirsiniz :

$yum install -y nginx

... veya resmi Nginx deposundan kararlı bir sürüm yükleyin, Burada ikincisini seçiyoruz.

nginx.repoİçeriği şu şekilde adlandırılmış bir repo dosyası oluşturun :

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

... ve kopyalayın /etc/yum.repo.d/,

$ cp nginx.repo /etc/yum.repo.d/
$ yum update and yum install -y nginx
$ systemctl enable nginx and systemctl start nginx

Node.js dosyasını yükleyin

Uzun zamandır desteklenen Node.js'yi resmi Node.js deposundan yüklüyoruz.

$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs

Yeni bir kullanıcı oluştur

Kökün süper kullanıcı izinleri olduğundan, blogunuzu çalıştırmak için normal bir kullanıcı oluşturmak genellikle daha iyidir.

Burada adında bir kullanıcı oluşturmak vultrve gruba eklemek wheelve nginx:

$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr

Bir SSH anahtar çifti oluşturma

Bir ssh anahtarı ile oturum açmak yararlı ve gereklidir.

$ ssh-keygen -b 4096 -C "vultr@example.com"

Ssh anahtar çiftimizi oluşturduktan sonra, ortak anahtarı (genellikle id_rsa.pub) ~/.ssh/authorized_keyssunucuya kopyalayın :

ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com

Ve şimdi, tüm bina öncesi paketleri kurduk.

Hexo blogunuzu oluşturun

Hexo'yu Yükle

Olarak giriş vultrkullanıcı. Ardından, oluşturun ~/web/web/vultrve ~/web/git/vultr:

### This is our hexo blog root directory
$ mkdir -p ~/web/web/vultr
### This is our git repository directory on the server
$ mkdir -p ~/web/git/vultr
### This is our deploy directory
$ mkdir -p ~/web/git/hexo

~/web/web/vultrHexo girin ve yükleyin:

$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save

Şimdi yeni blogumuzu oluşturmak zorundayız.

Düzenle _config.yml, blog sitesi URL'nizi değiştirmek için. O zaman koş:

$ hexo g

Blogunuz şimdi oluşturuldu. HTML dosyaları altında bulunur ~/web/web/vultr/public.

Nginx sunucunuzu kurun

Bu noktada hala web sitemize erişemiyoruz. Bu nedenle, Nginx'i yapılandırmamız gerekiyor.

Nginx adlı bir kullanıcı olarak çalışır nginxiçinde nginxgrubu ve en biz eklemeniz gerekir neden vultrgruba nginx.

$ chown -R vultr:nginx ~/web

Adlı bir Nginx yapılandırma dosyası oluşturun vultr.confaltında ~/web/içeriği daha az ya da böyle olduğu:

server {
    listen 80;
    listen [::]:80;
    ## if https is desired, please uncomment the following lines
    #listen 443 ssl http2;
    #listen [::]:443 ssl http2;

    server_name example.com, www.example.com;

    ## if forcing https, please uncomment the following lines
    #if ($scheme = http) {
    #    return 301 https://$server_name$request_uri;
    #}

    location / {
    root /home/vultr/web/web/vultr/public;
    index index.html;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    ## if https is desired, please uncomment the following lines
    #proxy_set_header X-Forwarded-Proto https;
    }
}

Kopya vultr.confiçin /etc/nginx/config.d/Nginx ve yeniden başlatın:

$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx

Artık blogumuza bir web tarayıcısıyla erişilebilir.

Blog'unuzu dağıtmak için Git'i kullanma

Blog zaten kurulduğundan, öğreticinin bu kısmı isteğe bağlıdır.

Bu noktada, bir blog yazısı yazmak biraz sakıncalıdır, çünkü sunucuya giriş yapmamız ve yazmamız gerekir. Daha iyi bir çözüm, yerel makinemize yazmak, gönderiyi sunucuya itmek ve Hexo'nun statik dosyaları otomatik olarak oluşturmasına izin vermek olabilir. Git'in birçok şeyi yapabilen kancaları göz önüne alındığında, bu kurulumu gerçekleştirmek için bir git kancası kullanabiliriz.

Sunucuda çıplak bir havuz oluşturun

Sunucu olarak tekrar kullanıcı olarak oturum açın vultr. Çıplak bir havuz oluşturun:

$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks

post-receiveHer push işleminden sonra blogumuzu dağıtacak bir bash dosyası yazın :

#!/bin/bash
deploy_to_dir="/home/vultr/web/git/hexo"

GIT_WORK_TREE=$deploy_to_dir git checkout -f master
echo "DEPLOY:   master  copied to  $deploy_to_dir"

hexo_dir="/home/vultr/web/web/vultr/"

cd $hexo_dir

hexo clean && hexo --silent g

if [[ $? == 0 ]]; then
    echo "Congratulations! Your blog has been correctly deployed"
else:
    echo "Unfortunately your blog has not been deployed correctly"
fi

Dağıtımın çalışması için sunucuda şu komutları da çalıştırmamız gerekir:

cd ~/web/web/vultr/
rm -rf source scaffolds _config.yml themes
ln -sf /home/vultr/web/git/hexo/themes/tranquilpeak  themes/
ln -sf /home/vultr/web/git/hexo/source .
ln -sf /home/vultr/web/git/hexo/scaffolds .
ln -sf /home/vultr/web/git/hexo/_config.yml .

Yerel git deponuzu kurun

Yerel makinede de bir havuz oluşturmamız gerekiyor. Fedora dışında bir masaüstü işletim sistemi kullanıyorsanız bu adımlar değişebilir.

Git'in kurulu olması gerekir.

Bir yerel git deposu oluşturun:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://vultr@example.com:/home/vultr/web/git/vultr

Bir yazı yazmak için Hexo'yu yerel makinenize yüklemek yararlıdır. Burada yazmak için bir Hexo dizini kuruyoruz.

$ mkdir ~/vultr/vultr && cd ~/vultr/vultr
$ hexo init && npm install --save
$ mv  source  _config.yml themes scaffolds ~/vultr/git/vultr
$ ln -sf ~/vultr/git/vultr/source .
$ ln -sf ~/vultr/git/vultr/_config.yml .
$ ln -sf ~/vultr/git/vultr/scaffolds .
$ hexo new "Test Post"

Kurulum tamamlandı. Aşağıdaki komutları kullanarak sunucunuza bir yayın gönderebilirsiniz:

$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master

Başarının ardından blog otomatik olarak güncellenecektir. Şerefe.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.