Publica una aplicació de Node.js
Què aconsegueixes: la teva aplicació de Node corrent en el domini d’un dels teus llocs, amb HTTPS, i aixecant-se sola si cau.
Abans de començar
Necessites un lloc ja creat, i l’aplicació necessita dues coses: un package.json i un fitxer d’entrada, per exemple app.js.
I alguna cosa que cal decidir abans de començar: el domini del lloc passa a servir l’aplicació. Si aquí tenies una web, deixa de veure’s. Si el que vols és provar, utilitza un lloc a part.
La teva aplicació ha d’escoltar en el port que li passem en la variable d’entorn PORT. Si el tens escrit a foc, no respondràs.
Passos
Puja els fitxers a la carpeta del lloc, amb el Gestor de fitxers o per SFTP (Puja els fitxers: FTP, SFTP i el gestor de fitxers).
Menú Llocs → Aplicacions Node.js → Aplicació nova.
Rellena:
Lloc — domini passarà a servir aquesta aplicació.
Nom — per reconèixer-la a la llista.
Fitxer d’entrada — el que arrenca l’aplicació, dins de la teva carpeta. Per exemple
app.js.Carpeta (opcional) — dintre de la carpeta del lloc. Buita, l’arrel.
Variables d’entorn (opcional) — una per línia, amb la forma
CLAVE=valor.
Crea l’aplicació.
En iniciar-la instal·lem les dependències (npm install --production) i li donem el seu port en PORT.
Com saps que ha sortit bé
La fila de l’aplicació ha de quedar en marxa, i https://tudominio.com Heu de tornar el que retorna la teva aplicació, no la web d’abans.
Si no surt, obre el Registre de l’aplicació des de la seva fila: aquí està el que ha escrit Node en arrencar, que és on es veu l’error de veritat.
Els botons Iniciar, Reiniciar i Aturar són a la mateixa fila.
Problemes habituals
- L’aplicació arrenca i el domini dóna error 502 o no respon
Gairebé sempre és el port. Ha d’escoltar en processos.env.PORT, no en un número escrit a mà. Mira’l en el registre: si posa que escolta en el 3000 i nosaltres li vam donar un altre, és això.
- El registre diu «Cannot find module»
Falta una dependència en el package.json, o l’instal·leu com a dependència de desenvolupament. Com que instal·lem amb
--production, les de desenvolupament no entren: passa-la a les normals i reinicia.- Puja els fitxers i no troba el fitxer d’entrada
La ruta del fitxer d’entrada és relativa a la carpeta de l’aplicació, no a l’arrel del lloc. Si la teva app.js està dins d’una subcarpeta, posa-la a «Carpeta».
- He pujat canvis i segueix servint el d’anterior
No s’ha de carregar el codi en iniciar. Prem « Reinicia» a la fila i torna a mirar.
- La meva web abans ha desaparegut
És el que fa: el domini del lloc passa a servir l’aplicació. Atura l’aplicació i el lloc torna a servir els teus fitxers.
- Necessito una base de dades per a l’aplicació
Les bases de dades dels teus llocs són MariaDB i són aquí mateix. Si vols PostgreSQL o Redis, es contracten a part: mira Bases de dades gestionades per a Projectes i VPS.
- Puc tenir dues aplicacions al mateix domini?
No: un domini només pot servir-ne una. Usa un altre lloc, o un subdomini amb el seu propi lloc.
- L’aplicació cau cada poc
La tornem a aixecar sola cada vegada, així que el servei es manté, però el problema està en el teu codi. El registre desa el d’abans de cada caiguda: aquí hi ha la pista.