ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ในบทช่วยสอนนี้เราจะได้เรียนรู้วิธีตั้งค่าโปรแกรมประยุกต์บนเว็บ Koa.js สำหรับการผลิตโดยใช้ Node.js เราจะทำการเชื่อมโยงโดเมนตัวอย่างกับพร็อกซีย้อนกลับการใช้ Apache และเรียนรู้วิธีจัดการกับตัวจัดการกระบวนการที่เหมาะสม โดยไม่ต้องกังวลใจต่อไปเริ่มกันเลย
Node.js เป็นเฟรมเวิร์ก JavaScript ที่ทำงานข้ามแพลตฟอร์มได้อย่างรวดเร็วโดยใช้เอ็นจิ้น V8 ของ Chrome มันถูกใช้ในทั้งเดสก์ท็อปและเซิร์ฟเวอร์และมีชื่อเสียงในการจัดการห่วงเหตุการณ์แบบเธรดเดี่ยว Node.js มีการลงทะเบียนแพ็คเกจที่เรียกว่า Node Package Manager (NPM) ซึ่งโฮสต์มากกว่าครึ่งล้านแพ็คเกจ แพคเกจ NPM (หรือโมดูล) เป็นแกนหลักหลักของ Node.js เนื่องจากเป็นรหัสที่ขับเคลื่อนโดยชุมชนที่สามารถเป็นประโยชน์ในแอปพลิเคชัน Node.js ของคุณ ในแอป Koa.js ของเรา Node.js เป็นส่วนหลักของฟังก์ชั่น
Koa.js เป็นเฟรมเวิร์กทางเว็บที่เรียบง่ายสร้างขึ้นบนแพลตฟอร์ม Node.js สร้างขึ้นโดยทีมเดียวกันภายใต้กรอบงาน Express.js ที่ได้รับความนิยมเป้าหมายของมันคือการลดขนาดกรอบงาน Express.js ที่เรียบง่ายให้แล้วโดยการไม่รวมมิดเดิลแวร์จากแกนกลางของมัน คุณลักษณะที่สำคัญของ Koa.js คือข้อเท็จจริงที่ว่าไม่มีการโทรกลับ Koa.js สร้างจากเครื่องกำเนิดไฟฟ้าที่ใช้ ES6 และคุณสมบัติของ ES6 เช่นสัญญา
Apache เป็นเว็บเซิร์ฟเวอร์แบบโอเพ่นซอร์สยอดนิยมใช้เป็นจุดเริ่มต้นพื้นฐานสำหรับเว็บเซิร์ฟเวอร์ ในบทช่วยสอนนี้เราจะใช้ Apache เป็น reverse proxy ซึ่งจะช่วยให้เราเชื่อมโยงแอปพลิเคชันของเรากับโดเมนตัวอย่าง หากคุณไม่มีโดเมนบทช่วยสอนนี้ยังคงใช้ได้สำหรับคุณโดยมีความแตกต่างเพียงอย่างเดียวคือเว็บไซต์จะทำงานบน VPS IP ของคุณแทนโดเมน
เช่นเดียวกับกรอบงาน Node.js คุณจะต้องติดตั้ง Node.js บน VPS ของคุณ เพื่อประโยชน์ของบทช่วยสอนนี้ฉันจะสมมติว่าคุณได้ติดตั้ง Node.js ในระบบของคุณแล้ว ถ้าไม่ได้คุณก็สามารถทำตามคำแนะนำที่นี่
เราจะต้องสร้างโฟลเดอร์ซึ่งจะมีไฟล์หลักของแอปพลิเคชันของเรา
mkdir site
คุณสามารถแทนที่site
ด้วยชื่ออื่น ๆ ที่คุณต้องการสำหรับไดเรกทอรี ต่อไปเราจะต้องเริ่มต้นไฟล์แพ็คเกจ Node.js ของเรา เปลี่ยนเป็นไดเร็กทอรีที่คุณเพิ่งสร้างและรันnpm init
และทำตามพร้อมต์ ในท้ายที่สุดควรมีลักษณะดังนี้:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
ตอนนี้เรามีการตั้งค่าไดเรกทอรีของเราแล้วเราสามารถติดตั้ง Koa.js. ได้ ในไดเรกทอรีการทำงานปัจจุบัน/site
พิมพ์ต่อไปนี้
npm install koa
สิ่งนี้จะดาวน์โหลดโมดูล Koa.js จาก NPM และติดตั้งในไดเรกทอรีโครงการของเราเพื่อใช้ในอนาคต ต่อไปเราจะสร้างไฟล์แอปพลิเคชันตัวอย่างของเราที่จะเก็บรหัสแอปของเรา หากต้องการทำเช่นนั้นให้สร้างindex.js
ไฟล์
nano index.js
เมื่ออยู่ในไฟล์ให้สร้างแอปพลิเคชันตัวอย่าง
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
บันทึกและปิดไฟล์ CTRL+ X.
เราต้องการตรวจสอบให้แน่ใจว่าใบสมัครของเราทำงานอย่างถูกต้อง ในการเริ่มต้นใช้node index.js
งานและคุณจะเห็นWebsite is live
ในคอนโซล
ตอนนี้เรารู้ว่าเว็บไซต์ของเราใช้งานได้เราสามารถทำการติดตั้ง Apache และอ้างอิงได้
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
ในการใช้คุณสมบัติ reverse proxy ที่พบใน Apache เราจะต้องเปิดใช้งานโมดูลที่จำเป็น
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
โมดูลเหล่านี้บางส่วนอาจถูกเปิดใช้งานแล้ว แต่ก็เป็นการดีเสมอที่จะตรวจสอบอีกครั้ง
ตอนนี้เราต้องแก้ไขไฟล์กำหนดค่าเริ่มต้นสำหรับ Apache
sudo nano /etc/apache2/sites-enabled/000-default.conf
ที่นี่เราจะต้องเพิ่มบล็อกสำหรับแอปพลิเคชันของเรา
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
CTRLบันทึกไฟล์ X+
คุณอาจสังเกตเห็นว่าเรากำลังใช้พอร์ต3000
เป็นพอร์ตสำหรับเราProxyPass
และProxyPassReverse
IP เนื่องจากเป็นพอร์ตเดียวกับที่เรากำลังเรียกใช้แอปพลิเคชันของ Koa.js เราจึงจำเป็นต้องใส่พอร์ตที่ถูกต้อง
เมื่อมีการเปลี่ยนแปลงเราจะต้องรีสตาร์ท Apache และเปิดใช้งานแอปพลิเคชัน Koa.js อีกครั้ง
sudo systemctl restart apache2
สิ่งนี้จะช่วยให้มั่นใจได้ว่าไฟล์การกำหนดค่าของเราใช้งานได้และพร้อมใช้งานเมื่อเราเริ่มโปรแกรม Koa.js เมื่อรีสตาร์ท Apache แล้วให้กลับไปที่ไดเรกทอรีไซต์ของคุณแล้วเริ่มแอปพลิเคชัน Koa.js อย่างที่เราทำก่อนหน้านี้ จากเว็บเบราว์เซอร์นำทางhttp://yourdomain
หรือหรือจากhttp://yourip:
นั้นคุณจะเห็น "Hello World"
ตอนนี้เราได้ครอบคลุมพื้นฐานของการสร้างแอปพลิเคชันตัวอย่าง Koa.js แล้วเราตระหนักดีว่าในสภาพแวดล้อมการใช้งานจริง ผู้จัดการกระบวนการเป็นความต้องการอย่างแน่นอน นั่นคือสิ่งที่ systemd เข้ามาเล่น กล่าวง่ายๆว่า systemd ประกอบด้วยซอฟต์แวร์ที่จัดเตรียมโครงสร้างพื้นฐานสำหรับระบบ Linux เช่นเดียวกับ "init" มันมีระบบในการจัดการกระบวนการผู้ใช้หลังจากการเริ่มต้นระบบ ในกรณีของแอปพลิเคชันของเรา systemd ช่วยให้เราสามารถเริ่มเว็บไซต์ของเราโดยอัตโนมัติหลังจากระบบรีบูตในกรณีที่มีเหตุการณ์ที่ขัดขวางการทำงานของระบบ นอกจากนี้ยังมีชุดเครื่องมือที่มีประโยชน์เมื่อจัดการแอปพลิเคชันของเรา ส่วนที่ดีที่สุดคือความจริงที่ว่ามันสร้างขึ้นใน Ubuntu 16.04 LTS ดังนั้นเราไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่มเติม
service
ทุกสิ่งที่เราจะต้องเริ่มต้นโปรแกรมของเราจะได้รับการบรรจุอยู่ในไฟล์ที่เรียกว่า มันเก็บรายละเอียดเกี่ยวกับแอพของเราเช่นชื่อไดเรกทอรีสภาพแวดล้อมและอื่น ๆ ในการสร้างไฟล์ระบบของเราให้เปิดโปรแกรมแก้ไขข้อความ
sudo nano /lib/systemd/system/site.service
แก้ไขและบันทึกไฟล์เช่นนี้
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
แทนที่youruser
ด้วยชื่อผู้ใช้ของเซิร์ฟเวอร์ของคุณ นี่คือบทสรุปอย่างรวดเร็วของฟิลด์สำคัญ:
After
- สิ่งนี้แจ้งให้ systemd รอจนกระทั่งอินเตอร์เฟสเครือข่ายพร้อมก่อนเริ่มต้นแอปพลิเคชันของเราEnvironment
- ที่นี่เราสามารถระบุตัวแปรสภาพแวดล้อมสำหรับแอปพลิเคชันของเรา พอร์ต Node.js ของเราเป็นหนึ่งในนั้นType
- สิ่งนี้แจ้งให้ systemd ทราบว่าแอปของเราสามารถเริ่มต้นใช้งานได้โดยไม่ต้องรอสิทธิ์ของผู้ใช้และอื่น ๆUser
- สิ่งนี้บอก systemd ว่าเราต้องการเรียกใช้แอปพลิเคชันภายใต้บัญชีผู้ใช้ของเราซึ่งแนะนำ การรันแอ็พพลิเคชันในฐานะผู้ใช้รูทสามารถนำไปสู่ความปลอดภัยลดลงมากมายExecStart
- โดยพื้นฐานแล้วคำสั่งที่ systemd จะทำงานเพื่อเริ่มแอปพลิเคชันของเราคล้ายกับวิธีที่เราเริ่มต้นด้วยตนเองก่อนRestart
- บอก systemd ภายใต้เงื่อนไขที่จะรีสตาร์ทแอปพลิเคชันของเรา ในกรณีนี้เราต้องการให้เว็บไซต์ของเราเริ่มต้นใหม่ในกรณีที่มีข้อผิดพลาดตอนนี้เราพร้อมที่จะเริ่มบริการ systemd ของเราแล้ว
sudo systemctl daemon-reload
นี่เป็นสิ่งจำเป็นเมื่อใดก็ตามที่ไฟล์เซอร์วิส systemd เปลี่ยนแปลงเพื่อให้ systemd ลงทะเบียนการเปลี่ยนแปลงใหม่ที่ทำ
จากนั้นเริ่มแอปพลิเคชันของคุณ
sudo systemctl start site
นำทางไปยังไซต์ในเบราว์เซอร์ของคุณอีกครั้งเพื่อตรวจสอบว่าทุกอย่างใช้งานได้
stop
- หยุดแอปพลิเคชันอย่างสมบูรณ์restart
- หยุดแอปพลิเคชันและเริ่มต้นอีกครั้งภายใต้กระบวนการใหม่enable
- บอกให้ systemd เริ่มต้นแอปพลิเคชันเมื่อใดก็ตามที่คุณเปิดเครื่องคอมพิวเตอร์status
- แสดงข้อมูลเกี่ยวกับแอปพลิเคชั่นที่กำลังทำงานเช่นสถานะการออนไลน์สถานะแอพพลิเคชั่นและอื่น ๆหากต้องการใช้ฟังก์ชันใด ๆ เหล่านี้ให้เรียกใช้สิ่งต่อไปนี้
systemctl <function> site
เราได้ตั้งค่าแอปพลิเคชัน Koa.js สำเร็จแล้วและเรียนรู้วิธีย้อนกลับพรอกซีรวมทั้งจัดการกับ systemd ตอนนี้คุณพร้อมที่จะขยายแอปพลิเคชันและสร้างตามตัวอย่าง หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Koa.js และสิ่งอื่น ๆ ที่คุณสามารถทำได้โปรดเยี่ยมชมเว็บไซต์ของพวกเขาเพื่อรับข้อมูลที่เป็นประโยชน์เพิ่มเติม นอกจากนั้นถ้าคุณต้องการที่จะเรียนรู้เพิ่มเติมเกี่ยวกับกระบวนการผู้จัดการ systemd ของอ่านเอกสารสำหรับมันนี่ สุดท้ายหากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ reverse proxy ของ Apache อย่าลังเลที่จะตรวจสอบพวกเขาที่นี่
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
สฟิงซ์เป็นเครื่องมือค้นหาข้อความแบบโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งสามารถรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้คุณภาพที���รวดเร็วและสูง
Vultr มีคุณสมบัติที่อนุญาตให้คุณติดตั้งคีย์ SSH ล่วงหน้าเมื่อสร้างอินสแตนซ์ใหม่ สิ่งนี้อนุญาตให้คุณเข้าถึงผู้ใช้รูทเซิร์ฟเวอร์อย่างไรก็ตาม
ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora
ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน
ใช้ระบบที่แตกต่างกันอย่างไร ไทกะเป็นแอปพลิเคชั่นฟรีและโอเพ่นซอร์สสำหรับการจัดการโครงการ ซึ่งแตกต่างจากเครื่องมือการจัดการโครงการอื่น ๆ ไทก้าใช้ส่วนเพิ่ม
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี
ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า
การอนุญาตให้ล็อกอินรูทผ่าน SSH นั้นถือว่าเป็นการปฏิบัติด้านความปลอดภัยที่ไม่ดีทั่วทั้งอุตสาหกรรมเทคโนโลยี คุณสามารถดำเนินการที่ละเอียดอ่อนแทน
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
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