Node JS Server einrichten [ Linux Server / Windows DevEnv ]

Projekt auf Basis von Muiltiplayer Tutorial für Phaser js:

Linux/Docker:

Vorbereitung:

    • Verzeichnis für Quellcode des Node servers erstellen.
    • Server Code aus git repo ziehen ->git pull https://github.com/Jerenaux/basic-mmo-phaser.git
    • Projekt für Docker vorbereiten: 

im Verzeichnis mit dem Code:

mc -e Dockerfile


FROM node:10

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install
# If you are building your code for production
# RUN npm ci –only=production

# Bundle app source
COPY . .

EXPOSE 8080
CMD [ „node“, „server.js“ ]


 

mc -e .dockerignore


node_modules
npm-debug.log


Mehr zu node.js in Docker, hier.

Zum erstellen des Images/Containers:

docker build -t simon/cardgame-server:<version> .
das Image aus dem Quellcode erstellen.
Aus dem Image kann dann mit:
docker run -p 8090:8090 --name cg_serv simon/cardgame-server:x.x.x

Evtl auch mit -d (detach) ohne Ausgabe.

Zum neu erstellen des Containers:

docker stop cg_serv
docker rm cg_serv

Danach im Vezeichnis mit der Dockerfile ein Image mit neuer Versionsnummer erstellen und starten. Ggf. altes Image mit docker images rm <name:ver> altes Image entfernen.

Windows/Cygwin:

Vorbereitung:

  • Cygwin installieren, in pfad ohne leerzeichen
  • Node JS installieren.
  • Umgebungsvariable NODE_PATH eintragen
name:  NODE_PATH.
value: %AppData%\npm\node_modules.

Übernommen aus How to install Cygwin, Node.js, npm and Webpack for Windows 7

Server ausführen:

Projekt in Unterverzeichnis von cygwin install kopieren oder aus dem svn @https://warumwirleben.de/svn/cg_serv/ laden. Rechtsklick auf Ordner->SVN Checkout
Mit cygwin konsole in dem verzeichnis mit:
npm up
alle node prequisites die in ./package.json angegeben sind, herunterladen.
Dies ist erneut notwendig wenn in de package.json neue prequisites eingetragen werden.
Danach kann der server mit  ->node server.js <- gestartet werden. Abbruch mit strg+c.