Cómo instalar Thelia 2.3 en CentOS 7
¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i
En este tutorial, configuraremos un servidor web con un proxy inverso. El CMS que usaremos es Keystone.js, un marco de aplicación web bien conocido basado en Express.js. El proxy inverso que utilizaremos es Nginx, que es un proxy inverso gratuito y de código abierto, así como un servidor HTTP. La base de datos que utilizaremos es MongoDB, una base de datos de documentos NoSQL. Esto requerirá que tenga un dominio con registros configurados. Si no tiene ese conjunto, continúe y cuide de eso, y vuelva a este tutorial.
Primero, instalaremos Node.js, que es un intérprete Javascript basado en el motor Javascript Chrome V8.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
A continuación, instalaremos Nginx, nuestro proxy inverso.
sudo apt update
sudo apt install nginx
Esto actualizará las listas de paquetes e instalará Nginx. Una vez realizada la instalación, configuraremos nuestro proyecto de nodo.
Crea nuestro proyecto de nodo. Para hacer eso, simplemente cree una nueva carpeta.
mkdir website
Luego, crearemos nuestro package.json
archivo. Para hacer eso, simplemente ejecute npm init
en su terminal, complete los campos y responda " yes
" para confirmar. Una vez que haya creado el package.json
archivo, instalaremos los siguientes módulos de nodo.
sudo npm install -g generator-keystone
sudo npm install -g yo
Una vez que haya terminado de descargar, ejecute lo siguiente.
yo keystone
Rellene los campos obligatorios. Le pedirá el project name
, el template engine
, el email
panel de control, etc. Si no sabe qué seleccionar, los valores predeterminados estarán bien. Después de que haya configurado su configuración keystone, podemos probar para ver si nuestro servidor se está ejecutando escribiendo node keystone
para iniciar su aplicación. Por defecto, su aplicación se ejecutará en localhost
, en el puerto 3000
. Tenga en cuenta que si no tiene MongoDB instalado, una base de datos no estará disponible para usted de inmediato. Puedes aprender cómo instalarlo más adelante en el tutorial.
Aquí está el diseño de directorio básico para Keystone.js:
/lib
- Aquí es donde almacenará sus bibliotecas personalizadas y otro código.
/models
- Aquí es donde almacenará los modelos de base de datos de su aplicación. KeystoneJS utiliza MongoDB como proveedor de base de datos.
/public
- Aquí es donde se almacenarán sus archivos estáticos (CSS, JS, imágenes, etc.).
/routes/api
- Aquí es donde se almacenarán los controladores API de su aplicación.
/routes.views
- Los controladores de vista de la aplicación se almacenarán aquí.
/templates
- Aquí es donde se almacenarán todos los archivos de plantilla de su aplicación.
/updates
- Aquí es donde se almacenarán sus scripts de migración.
package.json
- Este es su archivo de configuración npm que el generador generó para nosotros.
keystone.js
- Nuestro archivo de inicio principal, lo ejecutamos cuando iniciamos el sitio web.
Como se mencionó anteriormente, nuestra base de datos que utilizaremos es MongoDB, que es una base de datos confiable orientada a documentos NoSQL. Si ya tiene instalado MongoDB, puede omitir esta sección. Si no, entonces aquí se explica cómo instalarlo en Ubuntu 16.04.
Importe la clave pública utilizada para el paquete mongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Cree el archivo de lista utilizado para instalar el paquete.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Actualice sus listas de paquetes usando apt
.
sudo apt update
Finalmente, instale MongoDB.
sudo apt install mongodb-org -y
Cuando esta instalación haya finalizado, inicie MongoDB.
sudo service mongod start
Esto iniciará el proceso MongoDB en el puerto 27017
.
MongoDB se utilizará en toda la aplicación y se utilizará para almacenar la información que usamos para nuestros modelos, por ejemplo, un User
modelo. Keystone lo usa como su base de datos de elección, y en este momento no puede usar otros proveedores de bases de datos.
Ahora es el momento de instalar PM2 (Process Manager 2.) PM2 es un administrador de procesos para aplicaciones Node.js, en forma de un módulo npm. Proporciona una manera fácil de administrar sus aplicaciones y ejecutarlas en segundo plano. Como está en NPM, todo lo que tenemos que hacer para instalarlo es ejecutar lo siguiente.
sudo npm install pm2 -g
Esto le dice a npm que lo instale globalmente, para que podamos usarlo en cualquier parte de nuestro sistema.
Anteriormente, ejecutamos nuestra aplicación web con node keystone
. Con PM2, es un poco diferente. Ahora ejecutamos nuestra aplicación de nodo con lo siguiente.
pm2 start keystone.js
Esto agregará nuestra aplicación PM2 a nuestra lista de procesos, y se mostrará un pequeño cuadro para que pueda ver que realmente está en línea. Observe la casilla etiquetada id
para su proceso. Mantenga esto cerca, ya que haremos muchas referencias a esto más adelante.
Para ver los registros de su aplicación.
pm2 logs [id]
Por ejemplo, pm2 logs 0
si esta es su primera aplicación PM2.
Para detener su aplicación web en cualquier momento.
pm2 stop [id]
Para eliminar completamente su aplicación.
pm2 delete [id]
PM2 incluso tiene un panel de monitoreo si desea ver algunas estadísticas básicas para su aplicación, y puede acceder a él con esto.
pm2 monit
Esto mostrará información básica, como el uso de RAM, el uso de la CPU y el tiempo de actividad.
Una gran característica que ofrece PM2 es watching
. En esencia, la observación es cuando PM2 detecta automáticamente los cambios en cualquiera de los archivos en el mismo directorio que su archivo de inicio, y reiniciará automáticamente su aplicación. Para habilitarlo, simplemente reinicie su aplicación, pero pásele una bandera de vigilancia.
pm2 restart [id] --watch
Para deshabilitar la observación después de que se haya habilitado, simplemente ejecute el mismo comando nuevamente y se deshabilitará la observación.
En este tutorial, dejaremos de mirar.
Asegúrese de tener instalado Nginx. Si por alguna razón no lo es, consulte los pasos anteriores.
Ajusta la configuración de tu firewall. En Ubuntu, ufw
es el firewall oficial. Por defecto, las conexiones están bloqueadas en el puerto 80
. Necesitamos agregar una excepción para Nginx en el puerto 80
, en el que se ejecutará nuestra aplicación web.
sudo ufw allow 'Nginx HTTP'
Verifique que su servidor Nginx se esté ejecutando.
systemctl status nginx
Debajo de la Active
sección, si ve active (running)
, entonces ya está todo listo. De lo contrario, puede intentar reiniciar el servicio.
systemctl restart nginx
Elimine el archivo de configuración predeterminado de Nginx.
sudo rm /etc/nginx/sites-available/default
Cree uno nuevo y simplemente llámelo node
.
sudo nano /etc/nginx/sites-available/node
Pegue lo siguiente en el archivo y reemplácelo example.com
con el dominio de su sitio web.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Tenga en cuenta que proxy_pass
denota la IP en la que se ejecuta nuestra aplicación Keystone localmente, que está localhost
en el puerto 3000
. listen 80
es el puerto al que queremos que se dirija la aplicación, que en este caso es el puerto 80
.
Luego, necesitamos crear un enlace simbólico o un enlace simbólico a una carpeta llamada sites-enabled
. La diferencia entre sites-enabled
y sites-available
es que en sites-enabled
realidad es cargada por Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Ahora su archivo de configuración sites-available
estará listo para usar y se cargará desde sites-enabled
. Para aplicar la configuración para que surta efecto, simplemente reinicie Nginx.
sudo systemctl restart nginx
Finalmente, reinicie su aplicación PM2
pm2 restart [id]
Ahora puede navegar a su dominio en un navegador y verá una Welcome to Keystone
pantalla con un panel para iniciar sesión.
Si lo ve, ha configurado correctamente un servidor web de producción Node.js. De lo contrario, es posible que hayas hecho un paso incorrectamente y es posible que desees volver y seguir cada paso con cuidado.
Puede obtener más información sobre Nginx visitando su sitio web .
Espero que hayas disfrutado este tutorial, y espero que te haya ayudado a configurar tu propio servidor web para la producción en tu Vultr VPS.
¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i
¿Usando un sistema diferente? Fuel CMS es un sistema de gestión de contenido basado en CodeIgniter. Su código fuente está alojado en GitHub. Esta guía le mostrará cómo t
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i
Using a Different System? Alfresco Community Edition is an open source version of the Alfresco Content Services. It is written in Java and uses PostgreSQL t
Using a Different System? WonderCMS is an open source, fast and small flat file CMS written in PHP. WonderCMS source code is hosted on Github. This guide wil
Using a Different System? Redaxscript 3.2 CMS is a modern and ultra lightweight, free and open source Content Management System (CMS) with rocket-fas
Using a Different System? Neos is a Content Application Platform with a CMS and an application framework at its core. This guide will show you how to instal
¿Usando un sistema diferente? October 1.0 CMS es un sistema de gestión de contenido (CMS) simple y confiable, gratuito y de código abierto creado en el marco de Laravel
¿Usando un sistema diferente? Directus 6.4 CMS es un sistema de gestión de contenido sin cabeza (CMS) potente y flexible, gratuito y de código abierto que proporciona al desarrollador
Using a Different System? Introduction BoltWire is a free and lightweight content management system written in PHP. Compared to most other content managemen
Bolt es un CMS de código abierto escrito en PHP. El código fuente de Bolts está alojado en GitHub. Esta guía le mostrará cómo instalar Bolt CMS en un nuevo CentOS 7 Vult
Using a Different System? Redaxscript 3.2 CMS is a modern and ultra lightweight, free and open source Content Management System (CMS) with rocket-fas
¿Usando un sistema diferente? Anchor es un blog ligero de código abierto CMS escrito en PHP. El código fuente de Anchors está alojado en GitHub. Esta guía te mostrará ho
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
Using a Different System? Microweber is an open source drag and drop CMS and online shop. Microweber source code is hosted on GitHub. This guide will show yo
Using a Different System? Fork is an open source CMS written in PHP. Forks source code is hosted on GitHub. This guide will show you how to install Fork CM
¿Usando un sistema diferente? ImpressPages CMS 5.0 es un sistema de gestión de contenido (CMS) simple y efectivo, gratuito y de código abierto, fácil de usar y basado en MVC
¿Usando un sistema diferente? Pagekit 1.0 CMS es un sistema de administración de contenido (CMS) hermoso, modular, extensible y liviano, gratuito y de código abierto con
¿Usando un sistema diferente? ProcessWire CMS 3.0 es un sistema de gestión de contenido (CMS) simple, flexible y potente, gratuito y de código abierto. ProcessWire CMS 3.
ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.
Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.
Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.