DésespoirJS WEB CLOUD 1
... / DésespoirJS WEB CLOUD 1
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

DésespoirJS WEB CLOUD 1

Par
MurelhN
Créé le 2019-01-26 03:44:54 (edited on 2024-09-04 12:48:52) dans Hébergement Cloud Web

Bonjour,

Je suis complètement perdu et désespéré à propos de nodeJS et le Web Cloud. Peut être que de fins connaisseurs pourrons m'aider...
Mon objectif est simplement de créer un chat sous nodeJS en utilisant des websockets sécurisé.

**1. La fin du début**

J'ai souscrit à l'offre Web Cloud 1 et configuré le moteur pour tourner sous nodeJS

**2. Connexions FTP et SSH**

Je me suis connecté avec succès au FTP **et au SSH**
Mon premier réflexe a été de me connecter via SSH afin d'installer npm, express, socket.io et lancer node avec une commande du style

`> node app.js`

En vain
https://murelh.info/ticket-ovh/ticket-ovh-2-details-2nd-probleme.png

Le fichier _app.js_ a été créé automatiquement après la configuration.
En regardant ce qu'il y avait dedans, je compris qu'il fallait que je le remplisse, puis que ce fichier était en fait un raccourcis.
Pas de problème, je le supprime et le recréer.

**3. You shall not install**

https://i.imgur.com/5Vm1Jis.png

On dirait que je n'ai ni node, ni npm. Par superstition je tente quand même un install de socket.io.
Commande inconnue :/

Je tente alors un timide `apt-get update` en vue d'une installation de node, mais je suis recalé.

Est-ce que l'un d'entre vous aurait réussi à créer une app node.js / Socket.io / Websocket etc.. depuis un serveur Web Cloud NodeJS ?
Si vous, sauriez*vous me dire à quels endroits est ce que je me trompe ?

Merci d'avance
Murelh


6 réponses ( Latest reply on 2021-07-16 08:09:25 Par
GuillaumeC74
)

Salut @MurelhN

Pour l'installation de module via npm: sur Cloud Web la commande `npm` est dispo sous le nom `npm-node8` (tu as aussi `npm-node9`, `npm-node10` et `npm-node11` selon la version du npm que tu souhaites utiliser).

J'ai essayé ça sur mon Cloud Web et ça fonctionne:
```
npm-node8 install socket.io
```

Pour lancer ton appli: pas besoin de faire `node app.js`, c'est fait par le moteur de Cloud Web.

- Dans l'onglet "Moteur d'éxecution": gardes toute ta conf comme tu l'a mise dans ton screenshot, change juste le "Chemin d'accès au répertoire public" en un nom de dossier (exemple: `public`).
- Dans l'onglet "Multisite", choisis le site que tu veux et met "Node" en moteur d'execution. Comme dossier racine met quelque chose comme `www`.

A partir de là depuis ton accès SSH, tu devrais avoir un dossier `/home//www` dans lequel tu viendras poser ton `app.js`. C'est là aussi que tu pourras mettre ton fichier `package.json` par exemple.
Tu auras aussi un dossier `/home//www/public` dans lequel tu pourras mettre tout ton contenu static (images, css...).

Un grand merci à vous !
J'essaye tout çà

Merci
Murelh

Bonjour @LOICB12,

Tu peux regarder ce post pour avoir des indications pour restart ton moteur d'exécution NodeJS: https://community.ovhcloud.com/community/fr/api-ovh-comment-redemarrer-une-plateforme?id=community_question&sys_id=3e00718c351a82d0f078b41a47e1f0ad

Tu as 3 possibilités pour le faire:

- Via l'https://api.ovh.com/console/#/hosting/web/%7BserviceName%7D/attachedDomain/%7Bdomain%7D/restart#POST API OVH:
```
POST /hosting/web/{serviceName}/attachedDomain/{domain}/restart
```
- Via SSH/FTP en créant un fichier `/home///tmp/restart.txt`. Le moteur d'exécution sera redémarré une seule fois lors de la prochaine requête
- Via SSH/FTP en créant un fichier `/home///tmp/always_restart.txt`. Le moteur d'exécution sera redémarré à **chaque** requête. Attention: cette dernière méthode impactera les performances de votre application. C'est utile en phase de développement ou pour du debug, mais surtout pas en prod.

Pour infos des guides officiel OVH sur tout ça vont arriver très bientôt.

Pierre

Bonjour @LOICB12

Pour répondre à tes questions:

> Aussi, je comprend que node 10 et 11 sont installés, mais comment faire pour les utiliser comme moteur d'exécution ? Seul node8 semble disponible dans la liste de l'interface d'admin.

Le fait d'avoir accès aux commandes `node/npm-8/9/10/11` depuis ton accès SSH est en effet confusant.
Actuellement bien que tu puisses utiliser ces commandes, seul le moteur d'exécution NodeJS 8 sera vraiment utilisé.
Pour info le fait de pouvoir choisir NodeJS 9, 10 et 11 comme moteur d'exécution sera très prochainement disponible dans le manager OVH. Et pour être encore plus transparant: les développements sont terminés de notre côté, le tout est en phase de test en interne.

> est-ce qu'il y a une date estimée pour la disponibilité des CDN compris dans l'offre et marqués comme "Prochainement" ?

C'est déjà disponible. Le CDN est disponible depuis le début de l'offre Cloud Web.
Tu peux l'activer dans le manager OVH > ton offre Cloud Web > onglet `Multisite` > dans la configuration d'un Multisite donné tu peux cocher la case `Activer le CDN`.

Le "prochainement" qui apparaît sur le site correspondait au nombre de PoP (et pas au CDN lui même). Les 3 PoP sont aujourd'hui opérationnel, j'ai remonté l'info en interne pour faire enlever ce "prochainement".

> Il y a-t-il moyen d'avoir accès à une version "en cours de travail" des guides ?

Je regarde ce que je peux faire et je reviens vers toi.

Salut @LOICB12

Un premier guide Cloud Web + NodeJS a été publié ce matin, tu le trouveras ici: https://docs.ovh.com/fr/cloud-web/installer-ghost-cloud-web/

N'hésite pas à nous faire des retours s'il y a des choses peu/pas clair dans ce guide.

Hello @LOICB12 & @PierreFr,

J'ai essayé de suivre la documentation OVH et impossible de redémarrer mon instance Node pour qu'elle prenne en compte les derniers changements. J'ai essayé de redémarrer via l'interface OVH sur l'onglet multisite et en ajoutant le fichier restart.txt mais rien n'y fait . Une idée de comment je pourrais procéder ?