Προς το περιεχόμενο

Node js σε server papaki


C1oud

Προτεινόμενες αναρτήσεις

Καλησπέρα. Έχει κανείς ιδέα πως ανεβάζω ένα API που έφτιαξα σε node js στο papaki. Αρκει να ανεβάσω τα αρχεία στο node app που λέει?

Είμαι λίγο άσχετος οπότε οποία βοήθεια ευπρόσδεκτη!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν το εχω πολύ με Node.JS πλέον , αλλά δες λίγο για .ENV file και ρυθμίσεις στο package.json μήπως έχει κάποιο default script name για start

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δυστυχώς από ότι είδα το μόνο script που έχω είναι για start σε development. Ίσως πρέπει να προσθέσω εγώ κάποιο script?

Εντωμεταξύ  μου βγαίνει 120mb όλο το API μαζί με τα modules όταν τα κάνει εγκατασταση και δε μου φτάνει ο χώρος του basic για να το τεσταρω.. ίσως έφταιγε αυτό...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Θες υποχρεωτικά παπακι?

Μπορείς και σε https://heroku.com ή https://vercel.com/ να ανεβάσεις nodeJS app δωρεάν.

Επεξ/σία από Xvipes
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πρώτον θες VPS - linux server με ssh.

Μέτα υπάρχουν λύσεις όπως:

  1. Με την χρήση CI/CD δηλαδή ένα pipeline. Το deployment μπορεί να γίνει είτε με script σε κάτι που λέγετε jenkins αλλά το στήνεις εσύ. Εναλλακτικά μπορείς να παίξεις με AWS και codeploy agent ή github actions. Εκεί όμως τρέχεις script
  2. Χέρι dld κάθε φορά που θα ανεβάζεις να μπαίνεις στον server σου και:
    1. Να τρέχεις git clone ή git pull
    2. τρέχεις το npm install
    3. Αξιοποιείς systemd ή docker για να σηκώσεις το nodejs api

Ακόμα είτε και απ' τις 2 επιλογες θα πρέπει να μπορείς να τρέχεις την εφαρμογή σου χωρίς ανοιχτό terminal session το systemd αν έχεις εγκατεστημένη nodejs είναι η μια οδός αν την επιλέξεις θα πρέπει στον φάκελο `/etc/systemd/system` να ορίσεις ένα αρχείο πχ `rest_api.conf` και να έχεις ένα περιεχόμενο του στυλ:

[Unit]
Description=REST APIO Service
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/bin/nodejs ^where_api_is_started^
StandardOutput=journal
Restart=on-failure

[Install]
WantedBy=multi-user.target

H γραμμή

ExecStart=/usr/bin/nodejs ^where_api_is_started^

Βάζεις την εντολή που ξεκινά το API σου. Ακόμα σρην περίτπωση αυτή θα πρέπει να μεριμνησεις να είναι η NODE_ENV (η κάποια παρόμοια) που εκεί ορίζεις αν είναι production. Ακόμα αν κάνεις npm install μπορείς να κάνεις exclude όποια δεν είναι development αρχεία.

Η οδός docker απαιτεί ένα Dockerfile που εκεί έχεις την επιλογή να κάνεις compress - remove και να έχεις ένα πλήρες περιβάλλον εκτέλεσης με ότι χρειάζεσε. Υπάρχουν αρκετά tutorial για το πως το κάνεις.

 

Όσο αφορά το μεγεθος:

  1. Ακόμα, δες αν μπορείς να έχεις τα αρχεία σου σε ένα gzip και να δεις να το κάνεις On the fly unzip και να το τρέχεις:https://stackoverflow.com/a/44564156
  2. Ακόμα αν μπορείς να κάνεις ένα bundle του αρχείου σου με uglyfy.js η και webpack μήπως κόψεις κάποια spaces η αφαιρέσεις unwanted κώδικα απο τα dependencies και σου παράξει ένα μονολιθικό js που το τρέχεις.
  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...