כתיבת שירות אינטרנט באמצעות Node.js

במדריך הזה נסביר איך לכתוב שירות אינטרנט ב-Node.js כדי להפעיל אותו בסביבה הרגילה של App Engine. מידע נוסף על סביבת זמן הריצה של Node.js ועל אופן הפעולה שלה זמין במאמר סביבת זמן הריצה של Node.js.

לפני שמתחילים

נקודות עיקריות

  • כדי להשתמש בתלות, צריך לפרט אותן בקובץ package.json. מידע נוסף זמין במאמר Specifying Dependencies.
  • ‫App Engine מפעיל את האפליקציה על ידי הרצת npm start.
  • השרת צריך להאזין ליציאה שצוינה על ידי process.env.PORT, משתנה סביבה שהוגדר על ידי זמן הריצה של App Engine.
  • כדי לפרוס את השירות ב-App Engine, צריך קובץ app.yaml.

יצירת שרת להאזנה לבקשות HTTP

הליבה של שירות האינטרנט היא שרת ה-HTTP. קוד הדוגמה במדריך הזה משתמש ב-Express.js כדי לטפל בבקשות HTTP, אבל אתם יכולים להשתמש בכל מסגרת אינטרנט שתבחרו.

  1. יוצרים תיקייה חדשה בשם my-nodejs-service בשביל שירות Node.js.

  2. עוברים לתיקייה בטרמינל ויוצרים קובץ package.json על ידי הפעלת הפקודה npm init.

  3. מוסיפים את Express כתלות על ידי הפעלת הפקודה:

    npm install express
    

    מוודאים שהערך Express מופיע בשדה dependencies בקובץ package.json. הנה דוגמה:

    {
      ...
      "dependencies": {
        "express": "^4.16.3"
      }
      ...
    }
    
  4. מוסיפים סקריפט start לקובץ package.json:

    "scripts": {
      "start": "node server.js"
    }
    
  5. יוצרים קובץ בשם server.js באותה תיקייה ומוסיפים את הקוד הבא:

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
      res.send('Hello from App Engine!');
    });
    
    // Listen to the App Engine-specified port, or 8080 otherwise
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`Server listening on port ${PORT}...`);
    });

זהו שרת אינטרנט בסיסי מאוד – הוא מגיב לכל הבקשות של GET לנתיב הבסיס ('/') עם הטקסט 'Hello from App Engine!' שימו לב לארבע השורות האחרונות, שבהן השרת מוגדר להאזין ליציאה שצוינה על ידי process.env.PORT, שהוא משתנה סביבה שהוגדר על ידי זמן הריצה של App Engine. אם השרת לא מוגדר להאזין ליציאה הזו, הוא לא יקבל בקשות.

שימו לב: אם לא מגדירים את process.env.PORT, המערכת משתמשת ביציאה 8080 כברירת מחדל. ההגדרה הזו נחוצה לבדיקת האפליקציה באופן מקומי, כי הערך process.env.PORT לא מוגדר במהלך הפעלות מקומיות – הוא מוגדר רק כשהאפליקציה פועלת ב-App Engine. אתם יכולים להשתמש בכל יציאה שתרצו לבדיקה, אבל במדריך הזה נשתמש ביציאה 8080.

הפעלת השרת באופן מקומי

כדי להריץ את השרת באופן מקומי:

  1. מריצים את הפקודה npm start בטרמינל. הפעולה הזו תפעיל את קובץ server.js.

  2. מפנים את דפדפן האינטרנט לכתובת http://localhost:8080.

יוצג דף עם הטקסט Hello from App Engine!‎ (שלום מ-App Engine!).

יצירת קובץ app.yaml

קובץ app.yaml מציין הגדרות לסביבת זמן הריצה של שירות App Engine. השירות לא יופעל בלי הקובץ הזה.

  1. בתיקייה my-nodejs-service, יוצרים קובץ בשם app.yaml.

  2. מוסיפים את התוכן הבא:

    runtime: nodejs24

    זהו קובץ תצורה מינימלי שמציין ל-App Engine את גרסת זמן הריצה של Node.js. בקובץ app.yaml אפשר גם לציין הגדרות רשת, הגדרות קנה מידה ועוד. מידע נוסף זמין במקור המידע app.yaml.

בשלב הזה, מבנה הקבצים צריך להיות כזה:

  my-nodejs-service/
  app.yaml
  package.json
  server.js

השלבים הבאים

אחרי שיצרתם שרת אינטרנט פשוט של Node.js שמקשיב ליציאה הנכונה וציינתם את סביבת זמן הריצה בקובץ app.yaml, אתם מוכנים לפרוס את השירות ב-App Engine.

נסו בעצמכם

אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של App Engine בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.

אני רוצה לנסות את App Engine בחינם