Lo primero que hago para desplegar un ambiente de strapi en un VPS es instalar las dependencias de desarrollo que se necesita en el servidor:
CLONAMOS EL REPOSITORIO
se tiene que clonar y dar permisos en el servidor mediante ssh-geygen para poder descargar el proyecto desde github
git clone [....link de tu repo]
1. INSTALAMOS DEPENDENCIAS
INSTALAMOS NPM
apt install npm
INSTALAMOS NVM
es un manejador de node el cual nos permite instalar multiples versiones de node en este caso
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
luego yo necesito instalar el node 18.17 para que corra sin ningun problema mi versión de strapi que estoy trabajando
nvm install 18.17
nvm list
nvm use 18.17
2. CONFIGURAMOS MYSQL
Instala mysql en el servidor:
sudo apt install mysql-server
Inicia el servicio de MySQL y asegúrate de que se ejecute al inicio:
sudo systemctl start mysql
sudo systemctl enable mysql
Configura la base de datos para Strapi:
sudo mysql -u root -p
CREATE DATABASE strapi_db;
CREATE USER 'strapi_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL PRIVILEGES ON strapi_db.* TO 'strapi_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. Instala y configura PM2 para mantener Strapi en ejecución
Instala PM2 para gestionar el proceso de Strapi:
sudo npm install pm2@latest -g
crea un archivo llamada ecosystem.config.js
module.exports = {
apps: [
{
name: "strapi",
script: "npm",
args: "start",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
},
},
],
};
luego ejecuta pm2 start ecosystem.config.js y esto levantara el servidor de pm2
En mi caso requiero instalar la dependencia de mysql en npm porque recien lo estaba configurando en el servidor así que ejectute
npm install mysql --save
4. Configura Nginx como proxy reverso (opcional)
Si deseas utilizar un dominio o gestionar HTTPS:
sudo apt install nginx
Despues crear tu archivo de configuración para el dominio que quieres habilitar:
touch menarini.brayan.es
server {
server_name mi-dominio.com; # Cambia por tu dominio
location / {
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
listen 80;
}
Sales de tu archivo y ahora enlazas con el siguiente comando, recuerda cambiar tu dominio
sudo ln -s /etc/nginx/sites-available/menarini.brayan.es /etc/nginx/sites-enabled
Despues de eso pues toca instalar el certificado de seguridad para que cualquier persona pueda acceder a tus APIs.
Instalas cerbot PARA NGNIX
Importante instalar las dependencias de cerbot para ngnix
sudo apt install certbot python3-certbot-nginx -y
Luego solo ejecuta la configuración de tu SSL
sudo certbot --nginx -d menarini.brayan.es
El resultado final debería verse algo como esto, donde te indica que fue instalado el certificado satisfactoriamente.
¡Tu web ya está lista para disfrutar! No te olvides de seguirme en todas mis redes sociales. Y como agradecimiento por llegar hasta aquí, te has ganado un 15% de descuento en todos mis servicios.
Ve a la tienda: https://brayan.es/hosting-y-dominio-oferta-15/
Válido por tiempo limitado (solo 10 disponibles).