วิธีการติดตั้ง Directus 6.4 CMS บน Fedora 26 LAMP VPS
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
ในบทช่วยสอนนี้เราจะตั้งค่าเว็บเซิร์ฟเวอร์ด้วย reverse proxy CMS ที่เราจะใช้คือ Keystone.js ซึ่งเป็นเฟรมเวิร์กแอปพลิเคชันเว็บที่รู้จักกันดีซึ่งมาจาก Express.js พร็อกซีย้อนกลับที่เราจะใช้คือ Nginx ซึ่งเป็นพร็อกซีย้อนกลับฟรีและโอเพ่นซอร์สรวมถึงเซิร์ฟเวอร์ HTTP ฐานข้อมูลที่เราจะใช้คือ MongoDB ซึ่งเป็นฐานข้อมูลเอกสาร NoSQL สิ่งนี้จะต้องให้คุณมีโดเมนที่มีการตั้งค่าระเบียน หากคุณไม่มีชุดดังกล่าวให้ไปข้างหน้าเพื่อรับการดูแลและกลับมาที่บทช่วยสอนนี้
อันดับแรกเราจะติดตั้ง Node.js ซึ่งเป็นล่าม Javascript ซึ่งใช้เครื่องยนต์ Chrome V8 Javascript
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
ต่อไปเราจะติดตั้ง Nginx ซึ่งเป็น reverse proxy ของเรา
sudo apt update
sudo apt install nginx
นี่จะอัปเดตรายการแพคเกจและติดตั้ง Nginx เมื่อการติดตั้งเสร็จสิ้นเราจะติดตั้งโปรเจคโหนดของเรา
สร้างโครงการโหนดของเรา ในการทำเช่นนั้นเพียงสร้างโฟลเดอร์ใหม่
mkdir website
จากนั้นเราจะสร้างpackage.json
ไฟล์ของเรา ในการทำเช่นนั้นเพียงแค่เรียกใช้npm init
ในเครื่องเทอร์มินัลของคุณกรอกข้อมูลในฟิลด์และตอบกลับ " yes
" เพื่อยืนยัน เมื่อคุณสร้างpackage.json
ไฟล์แล้วเราจะติดตั้งโมดูลโหนดต่อไปนี้
sudo npm install -g generator-keystone
sudo npm install -g yo
เมื่อดาวน์โหลดเสร็จแล้วให้เรียกใช้สิ่งต่อไปนี้
yo keystone
กรอกข้อมูลในฟิลด์ที่จำเป็น มันจะขอให้คุณสำหรับproject name
, the template engine
, email
สำหรับแผงควบคุมและอื่น ๆ หากคุณไม่ทราบว่าควรเลือกอะไรค่าเริ่มต้นจะถูกต้อง หลังจากที่คุณกำหนดค่าการตั้งค่า keystone ของคุณเราสามารถทดสอบเพื่อดูว่าเซิร์ฟเวอร์ของเรากำลังทำงานอยู่หรือไม่โดยพิมพ์node keystone
เพื่อเริ่มแอปพลิเคชันของคุณ โดยค่าเริ่มต้นใบสมัครของคุณจะได้รับการทำงานบนกับท่าเรือlocalhost
3000
โปรดทราบว่าถ้าคุณไม่ได้ติดตั้ง MongoDB ฐานข้อมูลจะไม่สามารถใช้ได้ทันที คุณสามารถเรียนรู้วิธีการติดตั้งในภายหลังในบทช่วยสอน
นี่คือเค้าโครงไดเรกทอรีพื้นฐานสำหรับ Keystone.js:
/lib
- นี่คือที่ที่คุณจะเก็บไลบรารีที่กำหนดเองของคุณและรหัสอื่น ๆ
/models
- ที่นี่คุณจะเก็บโมเดลฐานข้อมูลแอปพลิเคชันของคุณไว้ KeystoneJS ใช้ MongoDB เป็นผู้ให้บริการฐานข้อมูล
/public
- นี่คือที่เก็บไฟล์สแตติกของคุณ (CSS, JS, รูปภาพและอื่น ๆ )
/routes/api
- นี่คือที่เก็บตัวควบคุม API ของแอปพลิเคชันของคุณ
/routes.views
- ตัวควบคุมมุมมองแอปพลิเคชันจะถูกเก็บไว้ที่นี่
/templates
- นี่คือที่เก็บแม่แบบไฟล์แอปพลิเคชันทั้งหมดของคุณ
/updates
- นี่คือที่เก็บสคริปต์การย้ายข้อมูลของคุณ
package.json
- นี่คือไฟล์กำหนดค่า npm ของคุณที่เครื่องกำเนิดสร้างขึ้นสำหรับเรา
keystone.js
- ไฟล์เริ่มต้นหลักของเราเราเรียกใช้สิ่งนี้เมื่อเราเริ่มเว็บไซต์
ดังที่ได้กล่าวไว้ก่อนหน้านี้ฐานข้อมูลของเราที่เราจะใช้คือ MongoDB ซึ่งเป็น NoSQL ที่เชื่อถือได้ฐานข้อมูลเชิงเอกสาร หากคุณติดตั้ง MongoDB แล้วคุณสามารถข้ามส่วนนี้ได้ ถ้าไม่เช่นนั้นนี่คือวิธีการติดตั้งบน Ubuntu 16.04
อิมพอร์ตพับลิกคีย์ที่ใช้สำหรับแพ็กเกจ mongoDB
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
สร้างไฟล์รายการที่ใช้ในการติดตั้งแพ็คเกจ
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
apt
การปรับปรุงรายการของคุณโดยใช้แพคเกจ
sudo apt update
สุดท้ายติดตั้ง MongoDB
sudo apt install mongodb-org -y
เมื่อการติดตั้งนี้เสร็จสิ้นให้เริ่ม MongoDB
sudo service mongod start
นี้จะเริ่มต้นกระบวนการ MongoDB 27017
ในพอร์ต
MongoDB จะใช้ตลอดทั้งแอปพลิเคชันและจะถูกใช้เพื่อเก็บข้อมูลที่เราใช้สำหรับโมเดลของเราตัวอย่างเช่นUser
โมเดล Keystone ใช้เป็นฐานข้อมูลที่เลือกและในเวลานี้คุณไม่สามารถใช้ผู้จำหน่ายฐานข้อมูลอื่นได้
ตอนนี้ได้เวลาติดตั้ง PM2 (ตัวจัดการกระบวนการ 2) PM2 เป็นตัวจัดการกระบวนการสำหรับแอปพลิเคชัน Node.js ในรูปแบบของโมดูล npm มันเป็นวิธีที่ง่ายสำหรับคุณในการจัดการแอปพลิเคชันของคุณและรันในพื้นหลัง เนื่องจากมันอยู่ใน NPM สิ่งที่เราต้องทำเพื่อติดตั้งคือรันต่อไปนี้
sudo npm install pm2 -g
สิ่งนี้บอก npm ให้ติดตั้งทั่วโลกดังนั้นเราจึงสามารถใช้ที่ใดก็ได้ในระบบของเรา
node keystone
ก่อนหน้านี้เราวิ่งโปรแกรมประยุกต์บนเว็บของเราด้วย ด้วย PM2 มันแตกต่างกันเล็กน้อย ตอนนี้เรารันแอปโหนดด้วยต่อไปนี้
pm2 start keystone.js
นี่จะเพิ่มแอปพลิเคชั่น PM2 ของเราไปยังรายการกระบวนการของเราและจะมีกล่องเล็ก ๆ ปรากฏขึ้นเพื่อให้คุณเห็นว่ามันออนไลน์แน่นอน สังเกตเห็นกล่องที่มีป้ายกำกับid
สำหรับกระบวนการของคุณ โปรดปิดเรื่องนี้ไว้เนื่องจากเราจะทำการอ้างอิงหลายอย่างในภายหลัง
เพื่อดูบันทึกการสมัครของคุณ
pm2 logs [id]
ตัวอย่างเช่นpm2 logs 0
หากนี่เป็นแอปพลิเคชั่น PM2 แรกของคุณ
หากต้องการหยุดแอปพลิเคชันเว็บของคุณได้ตลอดเวลา
pm2 stop [id]
หากต้องการลบแอปพลิเคชันของคุณโดยสมบูรณ์
pm2 delete [id]
PM2 ยังมีแดชบอร์ดการตรวจสอบหากคุณต้องการดูสถิติพื้นฐานบางอย่างสำหรับแอปพลิเคชันของคุณและคุณสามารถเข้าถึงได้ด้วยสิ่งนี้
pm2 monit
จะแสดงข้อมูลพื้นฐานบางอย่างเช่นการใช้ RAM การใช้งาน CPU และเวลาใช้งาน
คุณลักษณะที่ดีที่ PM2 watching
ข้อเสนอคือ โดยพื้นฐานแล้วการเฝ้าดูคือเมื่อ PM2 ตรวจพบการเปลี่ยนแปลงไฟล์ใด ๆ ในไดเรกทอรีเดียวกันกับไฟล์เริ่มต้นของคุณโดยอัตโนมัติและจะเริ่มต้นแอปพลิเคชันของคุณใหม่โดยอัตโนมัติ หากต้องการเปิดใช้งานเพียงรีสตาร์ทแอปพลิเคชันของคุณ แต่ส่งค่าสถานะการตรวจสอบ
pm2 restart [id] --watch
หากต้องการปิดใช้งานการดูหลังจากเปิดใช้งานแล้วให้เรียกใช้คำสั่งเดิมอีกครั้งแล้วการดูจะถูกปิดใช้งาน
ในบทช่วยสอนนี้เราจะออกจากการเฝ้าดู
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Nginx แล้ว หากไม่ใช่ด้วยเหตุผลบางอย่างให้อ้างอิงขั้นตอนข้างต้น
ปรับการตั้งค่าไฟร์วอลล์ของคุณ บน Ubuntu ufw
นั้นเป็นไฟร์วอลล์ที่เป็นทางการ 80
โดยค่าเริ่มต้นการเชื่อมต่อจะถูกบล็อกในพอร์ต เราจำเป็นต้องเพิ่มข้อยกเว้นสำหรับ Nginx บนพอร์ต80
ซึ่งเว็บแอปพลิเคชันของเราจะทำงาน
sudo ufw allow 'Nginx HTTP'
ตรวจสอบว่าเซิร์ฟเวอร์ Nginx ของคุณกำลังทำงานอยู่
systemctl status nginx
ภายใต้Active
หัวข้อถ้าคุณเห็นactive (running)
คุณก็พร้อมแล้ว หากไม่เป็นเช่นนั้นคุณสามารถลองเริ่มบริการใหม่ได้
systemctl restart nginx
ลบไฟล์กำหนดค่า Nginx เริ่มต้น
sudo rm /etc/nginx/sites-available/default
node
สร้างขึ้นมาใหม่และก็เรียกมันว่า
sudo nano /etc/nginx/sites-available/node
วางสิ่งต่อไปนี้ลงในไฟล์และแทนที่example.com
ด้วยโดเมนเว็บไซต์ของคุณ
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
โปรดทราบว่าproxy_pass
หมายถึงแอพพลิเค IP ของเรา Keystone ทำงานอยู่ในท้องถิ่นซึ่งเป็นพอร์ต localhost
เป็นพอร์ตที่เราต้องการให้แอปถูกนำไปซึ่งในกรณีนี้คือพอร์ต3000
listen 80
80
จากนั้นเราจะต้องสร้าง symlink sites-enabled
หรือการเชื่อมโยงสัญลักษณ์ไปยังโฟลเดอร์ที่เรียกว่า ความแตกต่างระหว่างsites-enabled
และsites-available
คือsites-enabled
Nginx ที่โหลดจริง
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
ตอนนี้แฟ้มการกำหนดค่าของคุณจะพร้อมที่จะใช้และมันจะถูกโหลดจากsites-available
sites-enabled
หากต้องการใช้การกำหนดค่าเพื่อให้มีผลบังคับใช้เพียงรีสตาร์ท Nginx
sudo systemctl restart nginx
ในที่สุดรีสตาร์ทแอปพลิเคชั่น PM2 ของคุณ
pm2 restart [id]
ตอนนี้คุณสามารถนำทางไปยังโดเมนของคุณในเบราว์เซอร์และคุณจะเห็นWelcome to Keystone
หน้าจอพร้อมแผงสำหรับให้คุณเข้าสู่ระบบ
หากคุณเห็นมันแสดงว่าคุณได้ตั้งค่าเว็บเซิร์ฟเวอร์การผลิต Node.js สำเร็จแล้ว ถ้าไม่เช่นนั้นคุณอาจทำขั้นตอนไม่ถูกต้องและคุณอาจต้องการกลับไปทำตามขั้นตอนอย่างระมัดระวัง
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Nginx โดยการเยี่ยมชมของพวกเขาเว็บไซต์
ฉันหวังว่าคุณจะสนุกกับการสอนนี้และฉันหวังว่าสิ่งนี้จะช่วยให้คุณตั้งค่าเว็บเซิร์ฟเวอร์ของคุณเองสำหรับการผลิตบน Vultr VPS ของคุณ
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า
ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i
ใช้ระบบที่แตกต่างกันอย่างไร Automad เป็นระบบจัดการเนื้อหาแบบโอเพนซอร์ซ (CMS) และเทมเพลตเอนจินที่เขียนด้วย PHP รหัสที่มา Automad ฉัน
ใช้ระบบที่แตกต่างกันอย่างไร 1.0 ตุลาคม CMS เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายและเชื่อถือได้ฟรีและโอเพ่นซอร์สที่สร้างขึ้นบนเฟรมเวิร์ก Laravel
ใช้ระบบที่แตกต่างกันอย่างไร Redaxscript 3.2 CMS เป็นระบบจัดการเนื้อหา (CMS) ที่ทันสมัยและมีน้ำหนักเบาฟรีและโอเพนซอร์สที่มี rocket-fas
ใช้ระบบที่แตกต่างกันอย่างไร Bolt เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Bolts นั้นโฮสต์บน GitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Bolt CM
ใช้ระบบที่แตกต่างกันอย่างไร Alfresco Community Edition เป็นเวอร์ชั่นโอเพ่นซอร์สของ Alfresco Content Services มันเขียนใน Java และใช้ PostgreSQL t
ใช้ระบบที่แตกต่างกันอย่างไร WonderCMS เป็นโอเพนซอร์ซ CMS แบบเร็วและเล็กเขียนด้วย PHP รหัสที่มาของ WonderCMS นั้นโฮสต์บน Github คู่มือนี้จะ
ใช้ระบบที่แตกต่างกันอย่างไร Neos เป็นแพลตฟอร์มแอปพลิเคชันเนื้อหาที่มี CMS และกรอบแอปพลิเคชันเป็นหลัก คู่มือนี้จะแสดงวิธีติดตั้ง
ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir
ใช้ระบบที่แตกต่างกันอย่างไร Alfresco Community Edition เป็นเวอร์ชั่นโอเพ่นซอร์สของ Alfresco Content Services มันเขียนใน Java และใช้ PostgreSQL t
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Tiki Wiki CMS Groupware หรือที่รู้จักกันในชื่อ Tiki เป็นระบบจัดการเนื้อหาวิกิฟรีและโอเพ่นซอร์ส คุณสมบัติติ๊ก
ใช้ระบบที่แตกต่างกันอย่างไร Introduction BoltWire เป็นระบบจัดการเนื้อหาที่ฟรีและมีน้ำหนักเบาที่เขียนด้วย PHP เมื่อเทียบกับการจัดการเนื้อหาอื่น ๆ ส่วนใหญ่
ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์
ใช้ระบบที่แตกต่างกันอย่างไร Redaxscript 3.2 CMS เป็นระบบจัดการเนื้อหา (CMS) ที่ทันสมัยและมีน้ำหนักเบาฟรีและโอเพนซอร์สที่มี rocket-fas
ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์
ใช้ระบบที่แตกต่างกันอย่างไร ProcessWire CMS 3.0 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและมีประสิทธิภาพฟรีและโอเพนซอร์ส ProcessWire CMS 3
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน