Implemente el sistema de administración de contenido de código abierto Ghost en el entorno Docker

1. Introducción a Fantasma

1.1 Introducción a Fantasma

Ghost es un CMS (Content Management System) gratuito y de código abierto para blogs, publicaciones y sitios de contenido, escrito completamente en JavaScript. Las principales características de Ghost son la facilidad de uso, alta escalabilidad, hermoso diseño y excelente rendimiento.

1.2 Características de Fantasma

  • Facilidad de uso: la interfaz de usuario de Ghost es muy simple e intuitiva, por lo que es muy fácil de usar. Proporciona una experiencia de escritura fácil que le permite concentrarse en escribir.

  • Extensible: Ghost proporciona una potente API que permite a los desarrolladores ampliar fácilmente su funcionalidad e integrarla con otras aplicaciones.

  • Hermoso diseño: Ghost tiene un diseño muy hermoso y elegante, y te ofrece una variedad de temas y opciones de personalización para satisfacer tus necesidades.

  • Rendimiento superior: el rendimiento de Ghost es muy bueno porque se basa en Node.js, utiliza E/S sin bloqueo y puede manejar una gran cantidad de solicitudes y conexiones simultáneas.

2. Introducción al entorno local

2.1 Planificación Ambiental Local

Esta práctica es un entorno de prueba personal y la versión del sistema operativo es centos7.6.

nombre de host dirección IP versión del sistema operativo Versión acoplable
jeven 192.168.3.166 cien 7.6 20.10.17

2.2 Introducción a esta práctica

1. Este entorno de implementación de práctica es un entorno de prueba personal, utilícelo con precaución en el entorno de producción
2. Implementó correctamente el sistema de gestión de contenido de código abierto Ghost en el entorno Docker.

3. Inspección ambiental local

3.1 Comprobar el estado del servicio de Docker

Compruebe si el servicio de Docker se ejecuta normalmente para asegurarse de que Docker se ejecuta normalmente.

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2023-06-11 19:08:26 CST; 7h ago
     Docs: https://docs.docker.com
 Main PID: 11727 (dockerd)
    Tasks: 10
   Memory: 133.4M

3.2 Comprobar la versión de Docker

Comprobar la versión de Docker

[root@jeven ~]# docker -v 
Docker version 20.10.17, build 100c701

3.3 Comprobar la versión de redacción de la ventana acoplable

Verifique la versión de Docker compose, asegúrese de que la versión sea superior a 2.0.

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

4. Descarga la imagen del Fantasma

Descargue la imagen de Ghost en Docker Hub, la versión es la más reciente.

[root@jeven ~]# docker pull    ghost
Using default tag: latest
latest: Pulling from library/ghost
72a69066d2fe: Already exists 
24892ef5fd86: Pull complete 
b352cb85f08b: Pull complete 
d184ccfb32cc: Pull complete 
a1aa0950435d: Pull complete 
6af76194e172: Pull complete 
6ecb9543cf3f: Pull complete 
f5dc5f4a448f: Pull complete 
c5c6987f6d28: Pull complete 
Digest: sha256:8123a7eabc533746cfa7302c71b780e763ee292f92c10f44e12d08baa0b489f9
Status: Downloaded newer image for ghost:latest
docker.io/library/ghost:latest

5. Implementar el sistema de gestión de contenido de código abierto Ghost

5.1 Crear un directorio de datos

  • Crear directorio de datos
mkdir -p /data/ghost

5.2 Crear un contenedor fantasma

  • Use docker-cli para crear rápidamente contenedores Ghost
docker run -d \
   --restart always \
   --name ghost \
   -p 2368:2368 \
   -v /data/ghost:/var/lib/ghost/content \
   -e NODE_ENV=development \
   -e url=http://192.168.3.166:2368 \
   ghost

inserte la descripción de la imagen aquí

  • Autorización de directorio
chmod -R 777 /data/ghost/
  • Reiniciar el contenedor fantasma
 docker restart ghost 

5.3 Comprobar el estado del contenedor Ghost

Verifique el estado del contenedor Ghost para asegurarse de que el contenedor se inicia normalmente.

[root@jeven ghost]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS          PORTS                                       NAMES
d9c108ddbd3c   ghost     "docker-entrypoint.s…"   About a minute ago   Up 26 seconds   0.0.0.0:2368->2368/tcp, :::2368->2368/tcp   ghost


5.4 Comprobar el registro de ejecución del contenedor Ghost

Verifique el registro en ejecución del contenedor de Ghost para verificar si se informa algún error para asegurarse de que el servicio de Ghost se inicie normalmente.

[root@jeven ghost]#  docker logs ghost 
[2023-06-11 18:43:17] INFO Ghost is running in development...
[2023-06-11 18:43:17] INFO Listening on: 0.0.0.0:2368
[2023-06-11 18:43:17] INFO Url configured as: http://192.168.3.166:2368/
[2023-06-11 18:43:17] INFO Ctrl+C to shut down
[2023-06-11 18:43:17] INFO Ghost server started in 0.264s
[2023-06-11 18:43:17] WARN Database state requires initialisation.
[2023-06-11 18:43:17] INFO Creating table: posts
[2023-06-11 18:43:17] INFO Creating table: posts_meta
[2023-06-11 18:43:17] INFO Creating table: users
[2023-06-11 18:43:17] INFO Creating table: oauth
[2023-06-11 18:43:17] INFO Creating table: posts_authors
[2023-06-11 18:43:17] INFO Creating table: roles
[2023-06-11 18:43:17] INFO Creating table: roles_users
[2023-06-11 18:43:17] INFO Creating table: permissions
[2023-06-11 18:43:17] INFO Creating table: permissions_users
[2023-06-11 18:43:17] INFO Creating table: permissions_roles
[2023-06-11 18:43:17] INFO Creating table: settings
[2023-06-11 18:43:17] INFO Creating table: tags
[2023-06-11 18:43:17] INFO Creating table: posts_tags
[2023-06-11 18:43:17] INFO Creating table: invites
[2023-06-11 18:43:17] INFO Creating table: brute
[2023-06-11 18:43:17] INFO Creating table: sessions
[2023-06-11 18:43:17] INFO Creating table: integrations
[2023-06-11 18:43:17] INFO Creating table: webhooks
[2023-06-11 18:43:17] INFO Creating table: api_keys
[2023-06-11 18:43:17] INFO Creating table: mobiledoc_revisions
[2023-06-11 18:43:17] INFO Creating table: members
[2023-06-11 18:43:17] INFO Creating table: products
[2023-06-11 18:43:17] INFO Creating table: offers
[2023-06-11 18:43:17] INFO Creating table: benefits
[2023-06-11 18:43:17] INFO Creating table: products_benefits
[2023-06-11 18:43:17] INFO Creating table: members_products
[2023-06-11 18:43:17] INFO Creating table: members_payment_events
[2023-06-11 18:43:17] INFO Creating table: members_login_events
[2023-06-11 18:43:17] INFO Creating table: members_email_change_events
[2023-06-11 18:43:17] INFO Creating table: members_status_events
[2023-06-11 18:43:17] INFO Creating table: members_product_events
[2023-06-11 18:43:17] INFO Creating table: members_paid_subscription_events
[2023-06-11 18:43:17] INFO Creating table: labels
[2023-06-11 18:43:17] INFO Creating table: members_labels
[2023-06-11 18:43:17] INFO Creating table: members_stripe_customers
[2023-06-11 18:43:17] INFO Creating table: members_stripe_customers_subscriptions
[2023-06-11 18:43:17] INFO Creating table: offer_redemptions
[2023-06-11 18:43:17] INFO Creating table: members_subscribe_events
[2023-06-11 18:43:17] INFO Creating table: stripe_products
[2023-06-11 18:43:17] INFO Creating table: stripe_prices
[2023-06-11 18:43:17] INFO Creating table: actions
[2023-06-11 18:43:17] INFO Creating table: emails
[2023-06-11 18:43:17] INFO Creating table: email_batches
[2023-06-11 18:43:17] INFO Creating table: email_recipients
[2023-06-11 18:43:17] INFO Creating table: tokens
[2023-06-11 18:43:17] INFO Creating table: snippets
[2023-06-11 18:43:17] INFO Creating table: temp_member_analytic_events
[2023-06-11 18:43:17] INFO Creating table: custom_theme_settings
[2023-06-11 18:43:17] INFO Model: Product
[2023-06-11 18:43:17] INFO Model: Tag
[2023-06-11 18:43:17] INFO Model: Role
[2023-06-11 18:43:17] INFO Model: Permission
[2023-06-11 18:43:18] INFO Model: User
[2023-06-11 18:43:41] INFO Model: Post
[2023-06-11 18:43:41] INFO Model: Integration
[2023-06-11 18:43:42] INFO Relation: Role to Permission
[2023-06-11 18:43:42] INFO Relation: Post to Tag
[2023-06-11 18:43:42] INFO Relation: User to Role
[2023-06-11 18:43:42] INFO Database is in a ready state.
[2023-06-11 18:43:42] INFO Ghost database ready in 25.315s
[2023-06-11 18:43:43] INFO Ghost booted in 26.941s
[2023-06-11 18:43:43] INFO Adding offloaded job to the queue
[2023-06-11 18:43:43] INFO Scheduling job update-check at 9 33 8 * * *. Next run on: Mon Jun 12 2023 08:33:09 GMT+0000 (Coordinated Universal Time)
[2023-06-11 18:43:44] INFO Ghost URL Service Ready in 27.199s
[2023-06-11 18:44:44] WARN Ghost is shutting down
[2023-06-11 18:44:44] WARN Ghost has shut down
[2023-06-11 18:44:44] WARN Ghost was running for a minute
[2023-06-11 18:44:45] INFO Ghost is running in development...
[2023-06-11 18:44:45] INFO Listening on: 0.0.0.0:2368
[2023-06-11 18:44:45] INFO Url configured as: http://192.168.3.166:2368/
[2023-06-11 18:44:45] INFO Ctrl+C to shut down
[2023-06-11 18:44:45] INFO Ghost server started in 0.25s
[2023-06-11 18:44:45] INFO Database is in a ready state.
[2023-06-11 18:44:45] INFO Ghost database ready in 0.392s
[2023-06-11 18:44:46] INFO Ghost booted in 1.71s
[2023-06-11 18:44:46] INFO Adding offloaded job to the queue
[2023-06-11 18:44:46] INFO Scheduling job update-check at 3 38 15 * * *. Next run on: Mon Jun 12 2023 15:38:03 GMT+0000 (Coordinated Universal Time)
[2023-06-11 18:44:47] INFO Ghost URL Service Ready in 2.014s


6. Registrar cuenta fantasma

6.1 Visite la página de inicio de Ghost

Dirección de acceso: http://192.168.3.166:2368/

inserte la descripción de la imagen aquí

6.2 Ingrese a la página de registro de la cuenta

Dirección de acceso: http://192.168.3.166:2368/fantasma

inserte la descripción de la imagen aquí

6.3 Complete la información de la cuenta

Título del sitio: myweb
Nombre completo: admin
Dirección de correo electrónico: [email protected]
Contraseña: Personalizada.

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

6.4 Entrar en la página de gestión de fondo de Ghost

inserte la descripción de la imagen aquí

7. Publicar contenido del sitio web

7.1 Ingrese a la página de edición de contenido

Siga los pasos a continuación para ingresar a la página de edición de contenido.

inserte la descripción de la imagen aquí

7.2 Edición del contenido del sitio web

Para editar el contenido del sitio web, seleccione pulir.

inserte la descripción de la imagen aquí

7.3 Visualización del contenido del sitio web

Dirección de acceso: http://192.168.3.166:2368/
para ver el nuevo contenido de la web

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/jks212454/article/details/131156129
Recomendado
Clasificación