วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

Sails.js เป็นเฟรมเวิร์ก Javascript ที่มีประสิทธิภาพซึ่งทำให้ง่ายต่อการสร้างแอปพลิเคชัน Node.js ระดับองค์กร มันคล้ายกับสถาปัตยกรรม MVC ของเฟรมเวิร์กอย่าง Ruby on Rails แต่ด้วยการสนับสนุนที่ได้รับการปรับปรุงสำหรับรูปแบบการพัฒนาเว็บที่ทันสมัยที่เน้นข้อมูลมากขึ้น นอกจากนี้ Sails.js ยังเข้ากันได้กับเทคโนโลยีฟรอนต์เอนด์ที่หลากหลาย รวมถึง Angular, React, iOS, Android และ Windows Phone ทำให้เหมาะสำหรับการพัฒนาเว็บแอปพลิเคชันที่ซับซ้อนซึ่งต้องทำงานบนหลายแพลตฟอร์ม ด้วยคุณสมบัติที่แข็งแกร่งและ API ที่ใช้งานง่าย Sails.js เป็นเครื่องมือที่สมบูรณ์แบบสำหรับการสร้างแอปพลิเคชัน Node.js คุณภาพสูง

ในบทช่วยสอนต่อไปนี้ คุณจะได้เรียนรู้วิธีติดตั้ง Sails.js บน Rocky Linux 9 และเข้าถึงอินเทอร์เฟซบนเว็บโดยการติดตั้งและกำหนดค่าการตั้งค่าพร็อกซีย้อนกลับ Nginx.

ติดตั้งแพ็คเกจที่จำเป็น

งานแรกคือการตรวจสอบหรือติดตั้งแพ็คเกจต่อไปนี้โดยรันคำสั่งต่อไปนี้

sudo dnf install curl gcc-c++ make -y

เมื่อติดตั้งการพึ่งพาแล้ว คุณจะต้องติดตั้ง Node.js ด้วย

บทช่วยสอนจะติดตั้งเวอร์ชันเสถียรล่าสุดของ NPM แต่คุณสามารถเปลี่ยนเป็นเวอร์ชันอื่นที่ยังคงรองรับได้

ขั้นแรก นำเข้าที่เก็บ Node.js โดยใช้คำสั่งเทอร์มินัลต่อไปนี้

curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -

ข้อมูลเพิ่มเติมเกี่ยวกับเวอร์ชันปัจจุบันสามารถพบได้โดยไปที่ โหนดซอร์ส

ถัดไป ติดตั้ง Node.js

sudo dnf install nodejs -y

ติดตั้ง Sails.js

ส่วนถัดไปของการติดตั้งจะใช้ NPM เพื่อติดตั้ง Sails.js เมื่อต้องการทำเช่นนี้ ใช้คำสั่งต่อไปนี้

sudo npm -g install sails

สุดท้าย ตรวจสอบให้แน่ใจว่า NPM ของคุณเป็นปัจจุบันโดยใช้คำสั่งต่อไปนี้ นี่เป็นสิ่งสำคัญ อย่าข้าม

sudo npm install npm@latest -g

เมื่อติดตั้ง Sails.js แล้ว ขั้นตอนต่อไปคือการสร้างโปรเจ็กต์ใหม่ที่คุณสามารถตั้งชื่ออะไรก็ได้ตามใจชอบ แต่จะเรียกว่า “เทสแอพ” สำหรับการกวดวิชา

ขั้นแรก ให้สร้างไดเร็กทอรีซึ่งสามารถอยู่ที่ใดก็ได้ เพียงสังเกตตำแหน่งที่สมบูรณ์สำหรับบริการ systemd ในภายหลัง บทแนะนำจะใช้ไดเร็กทอรี www

sudo mkdir -p /var/www/ && cd /var/www/

สร้าง “เทสแอพ” โดยใช้คำสั่งต่อไปนี้

sudo sails new testapp

ระบบจะขอให้เลือกเทมเพลตสำหรับแอปพลิเคชัน Sails ของคุณ

ตัวอย่าง:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

พิมพ์ฮิต และกดปุ่ม ใส่รหัส เพื่อดำเนินการต่อและเสร็จสิ้น “เทสแอพ” การสร้าง

ตัวอย่าง:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

ถัดไป นำทางและเปิด “เทสแอพ” เพื่อทดสอบและตรวจสอบ

cd testapp && sudo sails lift

ตัวอย่างผลลัพธ์:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

หากต้องการออก ให้ใช้ (CTRL+C) คำสั่ง

สร้างไฟล์บริการ Systemd สำหรับ Sails.js

ในการมีและจัดการบริการ systemd สำหรับ Sails.js คุณต้องสร้างไฟล์บริการ systemd

สร้างไฟล์บริการโดยใช้คำสั่งต่อไปนี้

sudo nano /lib/systemd/system/sails.service

ถัดไป คัดลอกและวางสิ่งต่อไปนี้

[Unit]
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/var/www/testapp
ExecStart=/usr/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target

ตัวอย่าง:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

หมายเหตุ หากคุณวางตำแหน่งไดเร็กทอรี Sail.js ในตำแหน่งอื่น ให้เปลี่ยน “WorkingDirectory=/var/www/testapp” เส้นทางในบริการ systemd

บันทึกไฟล์ (CTRL+O), แล้วออก (CTLR+X).

ถัดไป โหลด systemd daemon อีกครั้ง

sudo systemctl daemon-reload

ถัดไป เริ่มบริการ Sails.js และเปิดใช้งานเพื่อเริ่มต้นเมื่อระบบรีบูต:

sudo systemctl enable sails --now

ตรวจสอบสถานะของบริการ Sails.js ด้วยคำสั่งต่อไปนี้

systemctl status sails

ตัวอย่างผลลัพธ์:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

ติดตั้งและกำหนดค่า Reverse Proxy

ติดตั้ง Nginx

บทช่วยสอนนี้จะใช้ Nginx เป็นพร็อกซีย้อนกลับสำหรับการใช้ Sails สามารถใช้ reverse proxy อื่นๆ ได้ อย่างไรก็ตาม Nginx นั้นตรงไปตรงมาและเชื่อถือได้ในด้านความปลอดภัยและประสิทธิภาพมากกว่าตัวเลือกอื่นๆ ส่วนใหญ่

ขั้นแรก ติดตั้งเวอร์ชัน Nginx เริ่มต้นที่มีอยู่ใน Rocky Linux 9

sudo dnf install nginx -y

ถัดไป ตรวจสอบการสร้างเวอร์ชันและหากการติดตั้งสำเร็จ

nginx -v

ก่อนที่คุณจะดำเนินการต่อ คุณต้องเริ่มบริการ Nginx

sudo systemctl enable nginx --now

ถัดไป ตรวจสอบสถานะเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด

systemctl status nginx

ตัวอย่างผลลัพธ์หากทั้งหมดทำงานอย่างถูกต้อง:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

กำหนดค่า Nginx เป็น Reverse Proxy

ถัดไป สร้างบล็อกเซิร์ฟเวอร์ (โฮสต์เสมือน) สำหรับแอปพลิเคชัน Sails สามารถทำได้ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ

ตัวอย่าง:

sudo nano /etc/nginx/conf.d/sails.conf

ตอนนี้คัดลอกและวางสิ่งต่อไปนี้ด้วยการแก้ไข “ตัวอย่าง.com” โดเมนของคุณเอง

server {
 listen       80;
 server_name  sails.example.com;
   location / {
     proxy_pass        http://localhost:1337/;
     proxy_set_header  Host $host;
     proxy_buffering   off;
   }
 }

บันทึกไฟล์ (CTRL+O), แล้วออก (CTRL+X).

ถัดไป ทดสอบว่าไฟล์การกำหนดค่าใช้งานได้และไม่มีข้อผิดพลาด

sudo nginx -t

ตัวอย่างผลลัพธ์หากไม่มีข้อผิดพลาด:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

เริ่มบริการใหม่เมื่อ Nginx ส่งคืนสถานะตกลงระหว่างการทดสอบแบบแห้ง

sudo systemctl restart nginx

กำหนดค่ากฎไฟร์วอลล์D

ไม่มีการตั้งค่ากฎไฟร์วอลล์เป็นพอร์ตมาตรฐาน 80 หรือ 443 พอร์ตเมื่อติดตั้ง Nginx ก่อนที่คุณจะดำเนินการต่อ คุณควรตั้งกฎต่อไปนี้ ซึ่งจะขึ้นอยู่กับพอร์ตที่คุณจะใช้ แต่ตัวเลือกทั้งหมดจะแสดงอยู่ในรายการ

เปิดพอร์ต 80 หรือ HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

เปิดพอร์ต 443 หรือ HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

โหลดไฟร์วอลล์ใหม่เพื่อให้การเปลี่ยนแปลงมีผล

sudo firewall-cmd --reload

โปรดทราบว่าคุณสามารถตั้งค่า HTTPS ในภายหลังในบทช่วยสอนได้หากคุณไม่แน่ใจ

เข้าถึง Sails.js เว็บอินเตอร์เฟส

เมื่อคุณติดตั้งและกำหนดค่า sails.js และ Nginx เป็น reverse proxy สำเร็จแล้ว คุณสามารถเปิดแอปพลิเคชัน Sails.js ได้โดยไปที่โดเมนที่คุณระบุโดยเปิดอินเทอร์เน็ตเบราว์เซอร์ที่คุณโปรดปราน แล้วพิมพ์ข้อความต่อไปนี้

http://salis.example.com

หากสำเร็จ คุณควรเห็นหน้า Landing Page เริ่มต้นของ Sails.js

ตัวอย่าง:

วิธีการติดตั้ง Sails.js Framework ด้วย Nginx บน Rocky Linux 9

ขอแสดงความยินดี คุณติดตั้ง Sails.js สำเร็จแล้ว

รักษาความปลอดภัย Nginx ด้วย Let's Encrypt SSL ฟรีใบรับรอง

ตามหลักการแล้ว คุณต้องการเรียกใช้เว็บเซิร์ฟเวอร์ Apache บน HTTPS โดยใช้ใบรับรอง SSL วิธีที่ดีที่สุดในการทำเช่นนี้คือการใช้ Let's Encrypt ซึ่งเป็นผู้ออกใบรับรองแบบเปิดฟรี อัตโนมัติ และดำเนินการโดย Internet Security Research Group (ISRG) ที่ไม่แสวงหากำไร

Rocky Linux 9 เป็นหนึ่งในไม่กี่รุ่นที่ไม่มี Certbot พร้อม DNF อย่างไรก็ตาม คุณสามารถติดตั้ง snap เพื่อจัดการสิ่งนี้ได้จนกว่า EPEL/EPEL Next 9 จะตามทัน

ขั้นแรก ติดตั้ง snapd

sudo dnf install snapd -y

เมื่อติดตั้งแล้ว ให้เปิดใช้งานทันทีและเมื่อเริ่มต้นระบบเพื่อตรวจสอบการอัปเดต

sudo systemctl enable snapd --now

ถัดไป ติดตั้ง snap core เพื่อให้ครอบคลุมการพึ่งพาทั้งหมดที่จำเป็นสำหรับแพ็คเกจ snap

sudo snap install core

สร้าง symlink สำหรับโฟลเดอร์ snapd

sudo ln -s /var/lib/snapd/snap /snap

ติดตั้งแพ็คเกจ Certbot snap

sudo snap install --classic certbot

สุดท้าย สร้าง symlink อื่นสำหรับ certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

เมื่อติดตั้งแล้ว ให้รันคำสั่งต่อไปนี้เพื่อเริ่มสร้างใบรับรองของคุณ:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

หรือใช้คำสั่งต่อไปนี้และทำตามคำแนะนำหากสามารถเข้าถึงได้มากขึ้น

sudo certbot certonly --nginx

การตั้งค่าที่เหมาะสมที่สุดนี้รวมถึงการบังคับเปลี่ยนเส้นทาง HTTPS 301, ส่วนหัว Strict-Transport-Security และ OCSP Stapling เพียงตรวจสอบให้แน่ใจว่าได้ปรับเปลี่ยนอีเมลและชื่อโดเมนตามความต้องการของคุณ

ตอนนี้ URL ของคุณจะเป็น HTTPS://sails.example.com แทน HTTP://sails.example.com.

หรือคุณสามารถตั้งค่างาน cron เพื่อต่ออายุใบรับรองโดยอัตโนมัติ Certbot เสนอสคริปต์ที่ทำงานโดยอัตโนมัติ และคุณสามารถทดสอบก่อนเพื่อให้แน่ใจว่าทุกอย่างทำงานโดยดำเนินการแบบแห้ง

sudo certbot renew --dry-run

ถัดไปใช้ systemctl-ตัวจับเวลา เพื่อยืนยันว่ามีงาน cron กำลังทำงานเพื่อตรวจสอบและต่ออายุใบรับรองของคุณ

systemctl list-timers

จะมีการจับเวลาเพื่อตรวจสอบและต่ออายุใบรับรองก่อนที่จะหมดอายุ คุณจึงไม่ต้องกังวลอีก

ความคิดเห็นและข้อสรุป

หากคุณกำลังมองหาเฟรมเวิร์ก Javascript ที่ทรงพลังและใช้งานง่าย ที่จะช่วยให้คุณสร้างเว็บแอปพลิเคชันที่กำหนดเองได้อย่างรวดเร็ว Sails.js เป็นตัวเลือกที่ยอดเยี่ยมในการพิจารณา ด้วยสถาปัตยกรรม MVC และความเข้ากันได้กับเฟรมเวิร์กส่วนหน้ายอดนิยมอื่น ๆ แน่นอนว่าจะทำให้กระบวนการพัฒนาของคุณง่ายขึ้นและเร็วขึ้น



ติดตาม LinuxCapable.com!

ต้องการรับการอัปเดตอัตโนมัติหรือไม่ ติดตามเราบนบัญชีโซเชียลมีเดียของเรา!