Postagem original: http://blog.alii.pro/
Este blog está rodando no servidor CentOS 7 da DigitalOcean .
O servidor da web é Nginx.
O sistema de blog que estou usando é o Jekyll .
Para tornar a implantação fácil e rápida, uso o Mina .
A filosofia por trás de Mina é a mesma de Capistrano, mas com menos recursos e configuração.
DigitalOcean tem um bom tutorial para configurar um servidor CentOS: https://www.digitalocean.com/…-centos-6
Nginx tem um repositório oficial para CentOS que você pode usar para sudo yum update
: http://wiki.nginx.org/Install
Siga sua ferramenta preferida para gerenciamento de versão Ruby e instale o Ruby no servidor.
Configure seu blog jekyll em sua máquina local e certifique-se de que esteja pronto para o público. Eu uso o GitHub. Você pode usar qualquer provedor de repositório git, mas certifique-se de que ele estará disponível para pull em sua máquina CentOS. Pode ser até no seu servidor CentOS!
Configuração Mina
O arquivo inicial de implantação Mina pode ser criado com o mina init
comando.
Aqui está meu config/deploy.rb
arquivo.
# config/deploy.rb
require 'mina/bundler'
require 'mina/rails'
require 'mina/git'
require 'mina/rbenv'
set :domain, 'cloud.alii.pro'
set :user, 'ali'
set :deploy_to, '/home/ali/blog'
set :repository, 'https://github.com/aliismayilov/blog.git'
set :branch, 'master'
task :environment do
invoke :'rbenv:load'
end
desc "Deploys the current version to the server."
task :deploy => :environment do
deploy do
invoke :'git:clone'
invoke :'bundle:install'
queue "#{bundle_prefix} jekyll build"
end
end
Bem direto. Declare o domínio e o usuário ssh, o diretório de implantação, o repositório de onde extrair (branch master).
Prepare o ambiente rbenv (carrega o arquivo .ruby-version) e o processo de implantação real.
Configuração Nginx
Primeiro você precisa criar e pastas. Eu gosto dessa abordagem porque você pode facilmente criar links simbólicos / desvincular configurações de sites. Adicione a seguinte linha a :/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
/etc/nginx/nginx.conf
# /etc/nginx/nginx.conf
# ...
include /etc/nginx/sites-enabled/*;
# ...
Depois que seu blog estiver no servidor, você poderá criar os arquivos do seu site nginx.
# /etc/nginx/sites-available/blog.alii.pro
server {
listen 80 default_server;
server_name blog.alii.pro;
root /home/ali/blog/current/_site;
index index.html
# how long should static files be cached for
expires 1d;
}
Agora crie um link simbólico para este arquivo:
$ sudo ln -s /etc/nginx/sites-available/blog.alii.pro /etc/nginx/sites-enabled/blog.alii.pro
Conclusão
Essas foram as etapas necessárias para configurar o blog Jekyll no CentOS. Ele pode ser facilmente implantado por meio de comandos git push
e mina deploy
.
Eu sou grande fã do GitHub, mas o GitHub Pages está muito atrás do lançamento do Jekyll. Eu uso o plugin de marcação do Jekyll, seu recurso SASS e não quero me limitar a usar qualquer outro recurso de um grande sistema de blog.
Aqui está o console dos logs de implantação da máquina local: http://upl.io/b12cm7 .