Instale o Hexo no CentOS 7

O Hexo é uma plataforma de blog estática, criada com o Node.js. É rápido em comparação com outras plataformas de blog estáticas, como Jekyll.

Neste tutorial, explicarei como criar e implantar um blog Hexo. As etapas são bastante simples, escritas para o CentOS 7, Node.j 4.4. Minha máquina local é o Fedora 23.

Pré-requisitos

Começamos com um sistema CentOS 7 recém-instalado. Os seguintes pacotes de software são necessários:

  • gcc-c e gcc-c ++
  • fazer e git
  • nginx
  • openssl
  • nodejs e npm

Você precisará fazer login como root ou como um usuário com privilégios de sudo.

Instalar utilitários

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

Instale o Nginx

Você pode instalar a nginxpartir do repositório padrão:

$yum install -y nginx

... ou instale uma versão estável do repo oficial do Nginx, aqui escolhemos o último.

Crie um arquivo repo chamado nginx.repo, cujo conteúdo seja:

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

... e copie para /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

Instale o Node.js

Instalamos o Node.js com suporte de longa data no repositório oficial do Node.js.

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

Crie um novo usuário

Normalmente, é melhor criar um usuário comum para executar o seu blog, porque o root tem permissões de superusuário.

Aqui, criamos um usuário chamado vultre o adicionamos ao grupo wheele nginx:

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

Gere um par de chaves SSH

É útil e necessário fazer login através de uma chave ssh.

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

Após criar nosso par de chaves ssh, copie a chave pública (normalmente id_rsa.pub) para ~/.ssh/authorized_keysno servidor:

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

E agora, temos todos os pacotes de pré-construção instalados.

Crie o seu blog Hexo

Instale o Hexo

Faça o login como vultrusuário. Em seguida, crie ~/web/web/vultre ~/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

Entre ~/web/web/vultre instale o Hexo:

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

Agora só precisamos criar nosso novo blog.

Edite _config.ymlpara alterar o URL do seu blog. Então corra:

$ hexo g

Seu blog foi gerado agora. Os arquivos HTML estão localizados em ~/web/web/vultr/public.

Configure seu servidor Nginx

Neste ponto, ainda não podemos acessar nosso site. Portanto, precisamos configurar o Nginx.

O Nginx é executado como um usuário nomeado nginxno nginxgrupo, e é por isso que precisamos adicionar vultrao grupo nginx.

$ chown -R vultr:nginx ~/web

Crie um arquivo de configuração do Nginx vultr.confcom o ~/web/qual o conteúdo seja mais ou menos assim:

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;
    }
}

Copiar vultr.confpara /etc/nginx/config.d/e reiniciar Nginx:

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

Agora nosso blog está acessível com um navegador da web.

Usando o Git para implantar seu blog

Como o blog já está configurado, esta parte do tutorial é opcional.

Nesse momento, é um pouco inconveniente escrever uma postagem no blog, porque precisaríamos fazer login e escrever no servidor. Uma solução melhor seria escrever em nossa máquina local, enviar a mensagem para o servidor e deixar o Hexo gerar automaticamente os arquivos estáticos. Considerando que o git tem ganchos que podem fazer muitas coisas, podemos usar um gancho git para conseguir essa configuração.

Crie um repositório vazio no servidor

Faça logon no servidor novamente como usuário vultr. Crie um repositório vazio:

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

Escreva um arquivo bash chamado post-receiveque implantará nosso blog após cada push:

#!/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

Antes que a implantação funcione, também precisamos executar estes comandos no servidor:

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 .

Configure seu repositório git local

Na máquina local, precisamos também criar um repositório. Essas etapas podem variar se você estiver usando um SO da área de trabalho que não seja o Fedora.

Você precisará ter o git instalado.

Configure um repositório git local:

$ 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

É útil instalar o Hexo na sua máquina local para escrever uma postagem. Aqui, configuramos um diretório Hexo para escrever.

$ 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"

A instalação está completa. Você pode enviar uma postagem para o seu servidor com os seguintes comandos:

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

Após o sucesso, o blog será atualizado automaticamente. Felicidades.

Deixar um comentário

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.