วิธีการติดตั้ง Meteor.js Web Application ด้วย MongoDB และ Apache บน Ubuntu 16.04 LTS

Meteor.js เป็นเฟรมเวิร์กโอเพนซอร์ส JavaScript ที่เขียนด้วย Node.js เป็นที่นิยมเนื่องจากมุมมองของการสร้างโปรแกรมประยุกต์บนเว็บในจาวาสคริปต์บริสุทธิ์ Meteor รวมเอาการสนับสนุน JavaScript front-end ที่ทำงานในเว็บเบราว์เซอร์เช่นเดียวกับ back-end JavaScript ซึ่งจะทำงานบนเซิร์ฟเวอร์โฮสต์ มันทำงานร่วมกันได้เป็นอย่างดีกับเฟรมเวิร์ก JavaScript ส่วนหน้าเช่น React และ Angular.js รวมถึง MongoDB ซึ่งเป็นฐานข้อมูล NoSQL ที่ได้รับความนิยม เหตุผลสำคัญสองสามข้อในการเลือก Meteor.js มีดังนี้:

  • Meteor.js เป็นเฟรมเวิร์กสแต็กเต็มรูปแบบ ดังนั้นด้วยคุณจะได้รับทุกสิ่งที่คุณต้องการ: ฐานข้อมูลส่วนหน้าส่วนหลัง ดาวตกทำหน้าที่ได้อย่างยอดเยี่ยมในการรวมมันเข้าด้วยกัน

  • ความเร็ว. ระบบแพ็คเกจที่ใช้งานง่ายของ Meteor มอบเครื่องมือมากมายที่คุณอาจจำเป็นต้องใช้ในการปรับแต่งแอพ

  • มันได้รับการสนับสนุนที่ดีจากกลุ่มนักพัฒนา Meteor รวมถึงนักพัฒนาเพื่อนที่ใช้มัน คุณจะสามารถเข้าใจถึงปัญหาใด ๆ ที่คุณมีและแก้ไขได้อย่างรวดเร็ว

ในบทช่วยสอนนี้เราจะบรรลุเป้าหมายต่อไปนี้บน Ubuntu 16.04:

  • ติดตั้งNode.jsรันไทม์ Javascript ของเรา

  • Meteor.jsติดตั้ง

  • ติดตั้งMongoDBฐานข้อมูลของ Meteor

  • ติดตั้งApacheพร็อกซีย้อนกลับที่เราเลือกและตั้งค่าโดเมนของเราหากมี

  • ทดสอบเว็บไซต์ของเรา

  • ติดตั้งเว็บไซต์ของเราเพื่อการผลิต

กำลังติดตั้ง Node.js

คุณจะต้องติดตั้ง Node.js ซึ่งเป็นล่าม JavaScript ของเราและแกนหลักของ Meteor มันจะช่วยให้เราสามารถเรียกใช้ Meteor และแอปพลิเคชั่นอื่น ๆ ของ Node.js ที่เราอาจมีในอนาคต ในสถานการณ์เช่นนี้เราจะทำการติดตั้ง Node.js 8. ในการเริ่มต้นการดาวน์โหลด

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

รอให้การดาวน์โหลดและติดตั้งเสร็จสมบูรณ์

การติดตั้ง MongoDB

ต่อไปเราจะทำการติดตั้งฐานข้อมูลของเรา: MongoDB MongoDB เป็นฐานข้อมูลเอกสาร NoSQL โอเพ่นซอร์สฟรีและฐานข้อมูลของ Meteor มันใช้รูปแบบเหมือน JSON สำหรับเอกสารเมื่อเทียบกับตารางที่มีโครงสร้างในฐานข้อมูล SQL แบบดั้งเดิม

นำเข้ากุญแจสาธารณะ MongoDB ที่ใช้โดยAPT(Advanced Packaging Terminal) สิ่งนี้ทำให้ APT สามารถตรวจสอบแพ็คเกจได้ ในกรณีนี้ MongoDB

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

สร้างไฟล์รายการที่จำเป็นสำหรับ Ubuntu 16.04

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

เริ่มการติดตั้ง MongoDB และรอให้การติดตั้งเสร็จสิ้น

sudo apt update && sudo apt install mongodb-org -y

เปิดบริการ systemd เพื่อแก้ไข

sudo nano /etc/systemd/system/mongodb.service

คัดลอกและวางข้อมูลต่อไปนี้เพื่อให้บริการ systemd สมบูรณ์

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

ใช้ " Control-O" เพื่อบันทึกและ " Control-X" เพื่อออก

เรียกใช้บริการ MongoDB systemd โดยพิมพ์sudo systemctl start mongodbเทอร์มินัลของคุณ

เมื่อต้องการตรวจสอบว่ามันเริ่มต้นได้สำเร็จพิมพ์ต่อไปนี้

sudo systemctl status mongodb

คุณจะเห็นว่าบริการนั้นเปิดใช้งานอยู่

การติดตั้งและตั้งค่า Apache2

ต่อไปเราจะติดตั้ง Apache Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ฟรีและโอเพนซอร์ซซึ่งทำหน้าที่เป็นพร็อกซีย้อนกลับซึ่งเป็นสิ่งที่เราจะใช้ในบทช่วยสอนนี้ port 80พร็อกซีกลับเป็นสิ่งจำเป็นที่จะผูกแอพลิเคชันของเราที่จะ Meteor.js Node.js บล็อกแอปพลิเคชันไม่ให้ทำงานบนพอร์ตนั้นโดยไม่ต้องเข้าถึงรูท Apache ทำงานrootโดยอัตโนมัติและเชื่อมโยงกับport 80ดังนั้นเราจะไม่ต้องกังวลเกี่ยวกับมันเมื่อถึงเวลาต้องเปิดเว็บไซต์ของเรา

ติดตั้ง Apache

sudo apt update && sudo apt install apache2

เพื่อให้สามารถเข้าถึงเว็บพอร์ตภายนอกเช่นport 80เราจำเป็นต้องกำหนดค่าไฟร์วอลล์ของเราสำหรับ Apache เราทำสิ่งนี้ผ่านUFW(ไฟร์วอลล์ที่ไม่ซับซ้อน)

sudo ufw allow 'Apache Full'

นี่จะอนุญาตให้เข้าถึงApache Fullโปรไฟล์ "" สิ่งนี้ทำให้เราได้รับปริมาณข้อมูลเข้ามาport 80ซึ่งเป็นสิ่งที่แอปพลิเคชันของเราจะทำงาน

การติดตั้ง Meteor.js และสร้างแอปพลิเคชันพื้นฐานของเรา

ตอนนี้เราจะติดตั้งเว็บเฟรมเวิร์กของเรา: Meteor.js เราจะใช้สคริปต์ทุบตีง่าย ๆ ที่ทีม Meteor ติดตั้งไว้

curl https://install.meteor.com/ | sh

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

meteor create <projectname>

โฟลเดอร์จะถูกสร้างด้วยชื่อที่ระบุ ( <projectname>)

การตั้งค่าพร็อกซีย้อนกลับ Apache ของเรา

ตอนนี้เราได้ตั้งค่าไดเรกทอรีแอปพลิเคชันของเราแล้วเราสามารถดำเนินการตั้งค่า reverse proxy ของเราได้ Apache ใช้โมดูลที่เรียกว่าmod_proxyซึ่งใช้พร็อกซีสำหรับ Apache

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

สิ่งนี้จะติดตั้งโมดูลและทำให้ Apache พร้อมใช้งาน

ต่อไปเราจะต้องเปิดใช้งานโมดูลที่จำเป็นทั้งหมดของ Apache ที่จำเป็นในการทำงาน เราจะทำเช่นนี้กับa2enmodเครื่องมือที่เปิดใช้งานโมดูลสำหรับ Apache โมดูลเหล่านี้จะช่วยให้เราสามารถใช้ประโยชน์จาก reverse proxy เพียงพิมพ์คำสั่งเหล่านี้ลงในเทอร์มินัลของคุณ

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html

หลังจากนั้นเราจะต้องปิดการใช้งานเว็บไซต์ Apache เริ่มต้นจากการเริ่มต้นขึ้นเพื่อให้เราสามารถเริ่มต้นขึ้นเอง มิฉะนั้นแอปพลิเคชัน Apache เริ่มต้นจะแทนที่ของเรา หากต้องการปิดการใช้งานเว็บไซต์เริ่มต้นเพียงเรียกใช้สิ่งต่อไปนี้

sudo a2dissite 000-default

ตอนนี้เราจะสร้างไฟล์โฮสต์เสมือนของเรา ในการทำเช่นนั้นเพียงแค่เปิดโปรแกรมแก้ไขข้อความ

sudo nano /etc/apache2/sites-available/<projectname>

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

<VirtualHost *:80>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80: บอกให้ Apache เชื่อมต่อกับพอร์ต 80 ซึ่งเป็นสิ่งที่เราต้องการสำหรับเว็บแอปพลิเคชันของเรา

  • ProxyPass: ที่อยู่ IP ของเว็บไซต์ที่คุณต้องการส่งต่อไปยังพร็อกซีย้อนกลับ นี่น่าจะเป็น IP ของ VPS ของคุณ

  • ServerName: ชื่อเซิร์ฟเวอร์ของคุณ (โดยปกติชื่อเริ่มต้นlocalhost)

เมื่อคุณกำหนดการตั้งค่าที่จำเป็นเสร็จแล้วให้ใช้ " Control-O" เพื่อบันทึกและ " Control-X" เพื่อออก

ใช้งานเว็บไซต์เป็นครั้งแรก

เมื่อต้องการทดสอบและตรวจสอบให้แน่ใจว่าเว็บไซต์กำลังทำงานอยู่ให้พิมพ์ดังต่อไปนี้ในไดเรกทอรีโครงการ

meteor

คุณจะเห็นผลลัพธ์ต่อไปนี้แสดงว่าไซต์ของคุณเริ่มต้นได้สำเร็จ

=> App running at: http://localhost:3000/

port 3000จะทราบว่าดาวตกโดยเริ่มต้นในการฟัง

การตั้งค่าเว็บไซต์ของเราเพื่อการผลิต

เพื่อให้แน่ใจว่าแอปของเราสามารถทำงานต่อไปได้เราจะใช้บริการ systemd เช่นเดียวกับที่เราทำกับ MongoDB บริการของระบบนี้จะทำให้แน่ใจได้ว่าเว็บไซต์ของเราจะเริ่มทำงานเมื่อใดก็ตามที่ระบบของเราเริ่มต้นและยังคงทำงานต่อไป มันจะรีสตาร์ทแอปพลิเคชันของเราในกรณีที่เกิดปัญหาด้วยเหตุผลใดก็ตาม ในการตั้งค่าบริการ systemd ของเราให้พิมพ์ดังต่อไปนี้ในเครื่องเทอร์มินัลของคุณ

sudo nano /etc/systemd/system/<projectname>.service

นี่คือสิ่งที่คุณต้องการให้ไฟล์ของคุณมีลักษณะ

[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1

หมายเหตุ : อย่าลืมแทนที่projectnameด้วยชื่อโครงการและyourusernameด้วยชื่อผู้ใช้ของ VPS

ต่อไปนี้เป็นบรรทัดสำคัญสำหรับคุณที่ต้องคำนึงถึง

  • WorkingDirectory: ไดเรกทอรีของแอปพลิเคชันของคุณ

  • Restart: ไม่ว่าจะรีสตาร์ทแอปพลิเคชันหรือไม่ก็ตามไม่ว่าจะด้วยเหตุผลใดก็ตาม

  • User: ชื่อผู้ใช้ของคุณ

  • Environment=PWDWorkingDirectoryที่จะเหมือนกัน

  • Environment=PORT: พอร์ตที่แอปพลิเคชันของคุณกำลังทำงานอยู่ 3000เริ่มต้นคือ

บันทึกและปิดไฟล์

ตอนนี้เราจะเปิดใช้งานและเริ่มบริการ

sudo systemctl enable <projectname>.service

ในกรณีที่<projectname>เป็นชื่อของไฟล์บริการที่เราสร้าง

จากนั้นเราจะเริ่มให้บริการ

sudo systemctl start <projectname>.service

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

sudo systemctl status <projectname>

คุณจะเห็นว่ามันใช้งานได้ตรวจสอบว่าบริการได้เริ่มต้นได้สำเร็จ

ต่อไปเราจะตรวจสอบเว็บไซต์ของเรา ในเว็บเบราว์เซอร์ที่คุณเลือกนำทางไปยังที่อยู่ IP ของคุณ

http://your-server-ip/

คุณจะเห็นหน้าจอตัวอย่างของ Meteor ยืนยันว่าคุณทำทุกอย่างถูกต้อง

การจัดการใบสมัครของเรา

ตอนนี้เราได้เริ่มต้นแอปพลิเคชันของเราแล้วเราจะต้องจัดการมัน

รีสตาร์ทแอปพลิเคชันของคุณ

sudo systemctl restart <projectname>

การหยุดแอปพลิเคชัน

sudo systemctl stop <projectname>

การดูสถานะของแอปพลิเคชัน

sudo systemctl status <projectname>

ดูบันทึก

journalctl -u <projectname>

ตอนนี้คุณได้กำหนดค่า MongoDB, Apache และ Meteor เรียบร้อยแล้วและสร้างเว็บเซิร์ฟเวอร์ Meteor.js เพื่อการผลิต ตอนนี้ส่วนที่เหลือขึ้นอยู่กับคุณในการออกแบบเว็บไซต์ของคุณที่ส่วนหน้าและส่วนหลัง คุณสามารถเข้าถึง MongoDB เพื่อจัดเก็บข้อมูลใด ๆ ที่คุณอาจต้องการและ Node.js ซึ่งนำเสนอโมดูลที่หลากหลายผ่าน Node Package Manager ( NPM) เพื่อเสริมความแข็งแกร่งให้กับแบ็กเอนด์ของคุณ สำหรับเอกสารเพิ่มเติมโปรดเยี่ยมชมเว็บไซต์ Meteorซึ่งคุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีกำหนดเว็บไซต์ของคุณเองตามที่คุณต้องการ นอกจากนี้คุณอาจอ้างถึงเอกสารประกอบ MongoDBเมื่อคุณจัดการกับฐานข้อมูล

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true