Listo para trabajar
- Se ha configurado el hexo local
- Sistema personal: deepin15.11
- Servidor: Ubuntu 18.04
Empecemos
Instalar git y nginx
apt update
apt install git nginx
Configurar nginx
versión de nginx: nginx / 1.14.0 (Ubuntu)
Explico la versión de nginx aquí porque probé muchas configuraciones de nginx en Internet pero ninguna de ellas surtió efecto (perdóneme por usar solo Apache). Más tarde, busqué la versión específica de la configuración para que surta efecto. Entonces, en el futuro, todavía tendremos que desarrollar el hábito de agregar versiones al buscar.
El directorio de mi blog está en / opt / hexo
Por supuesto, también puede configurarlo usted mismo, simplemente cambie a su directorio en los siguientes pasos
mkdir /opt/hexo
Escribe el archivo de configuración de nginx
vim /etc/nginx/conf.d/blog.conf
server {
listen 80 ;
root /opt/hexo;
index index.html index.htm index.nginx-debian.html;
server_name 47.93.34.7; #有域名就填域名,也可填服务器公网ip
}
Reiniciar nginx
service nginx restart
En este momento, hemos cambiado el sitio predeterminado a / opt / hexo, puede crear una nueva IP de acceso a archivos en el directorio correspondiente para ver si funciona.
Configurar ganchos de Git
Crear almacén desnudo de Git
blog.git es un repositorio Git remoto, y los archivos estáticos del blog generados localmente por Hexo se pueden sincronizar con él a través de push.
mkdir ~/blog.git && cd ~/blog.git
git init --bare
Configurar el script de Hooks
El script posterior a la recepción se ejecutará cuando el repositorio blog.git reciba un envío .
vim ./hooks/post-receive
El script es muy simple, elimine el directorio ** / opt / hexo original y luego clone los archivos estáticos del nuevo blog del repositorio blog.git .
#!/bin/bash
rm -rf /opt/hexo
git clone /root/blog.git /opt/hexo
Dar el permiso de ejecución del script posterior a la recepción
chmod +x ./hooks/post-receive
Modificar archivos locales
Modifique _config.yml en el directorio raíz del blog local.
deploy:
type: git
repo: root@你的公网ip:blog.git
Como se muestra abajo
Código push sin contraseña
La premisa es que hay una clave ssh localmente (puede usar cat ~ / .ssh / id_rsa.pub para ver si existe)
Si no hay clave ssh, necesita generar la clave ssh, presione 3 enter
ssh-keygen -t rsa -C "[email protected]"
Luego empuje la clave pública al servidor
cat ~/.ssh/id_rsa.pub | ssh [username]@[remote_host] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
例如:cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Blog de implementación
Ejecutar en el directorio raíz del blog local
hexo g -d
Puede ver el blog visitando la IP de la red pública Si el nombre de dominio está configurado, no olvide resolver el nombre de dominio (tenga en cuenta si el puerto está abierto).
Escribir al final
Lo anterior es todo el proceso de implementación del blog hexo en el servidor. La razón por la que escribí este blog es que usé un servidor para implementar el blog antes. Después del vencimiento, compré otro servidor y tuve que buscar operaciones relacionadas.
Registre las operaciones relacionadas aquí para facilitar las necesidades futuras.