ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
Brotli (br)เป็นอัลกอริธึมการบีบอัดโอเพนซอร์สใหม่ที่พัฒนาโดย Google เป็นทางเลือกสำหรับ Gzip, Zopfli และ Deflate มันถูกกำหนดอย่างเป็นทางการใน Internet Engineering Task Force (IETF) เป็นRFC 7932 กรณีศึกษาของ Google เกี่ยวกับ Brotli แสดงอัตราส่วนการบีบอัดที่เล็กกว่าวิธีการปัจจุบันถึง 26% โดยมีการใช้งาน CPU น้อยกว่า
Nginx ไม่มีการสนับสนุนอย่างเป็นทางการ แต่มีโมดูลของบุคคลที่สามที่พัฒนาโดย Google ชื่อngx_brotliซึ่งเราสามารถใช้เพื่อเพิ่มการสนับสนุนให้ Nginx
คู่มือนี้จะแสดงวิธีการเพิ่มการสนับสนุน Brotli ให้กับ Nginx บนอินสแตนซ์ Ubuntu 18.04 LTS Vultr ที่สดใหม่
หมายเหตุ: คำแนะนำนี้จะใช้johndoe
เป็นผู้ใช้ตัวอย่างและexample.com
เป็นโดเมนตัวอย่าง แทนที่พวกเขาตามชื่อของคุณ
A
/ AAAA
บันทึกการตั้งค่าตรวจสอบเวอร์ชั่นของ Ubuntu
lsb_release -ds
# Ubuntu 18.04 LTS
สร้างnon-root
บัญชีผู้ใช้ใหม่ด้วยsudo
การเข้าถึงและเปลี่ยนเป็นบัญชี
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
หมายเหตุ : แทนที่johndoe
ด้วยชื่อผู้ใช้ของคุณ
อัปเดตซอฟต์แวร์ของระบบปฏิบัติการของคุณ
sudo apt update && sudo apt upgrade -y
ตั้งค่าเขตเวลา
sudo dpkg-reconfigure tzdata
ติดตั้งเครื่องมือและแพ็คเกจการสร้างที่จำเป็น
sudo apt install -y build-essential git apt-transport-https socat
Brotli ต้องการให้คุณตั้งค่าและใช้ HTTPS ในส่วนนี้เราจะได้รับใบรับรองที่เชื่อถือได้จาก Let's Encrypt
ดาวน์โหลดและติดตั้ง Acme.sh
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
ตรวจสอบเวอร์ชั่น
acme.sh --version
# v2.8.0
ได้รับอาร์เอสและ ECDSA example.com
ใบรับรองสำหรับ
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength ec-256
หลังจากเรียกใช้คำสั่งด้านบนใบรับรองและคีย์ของคุณจะอยู่ในตำแหน่งต่อไปนี้:
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
ดาวน์โหลดและติดตั้ง Nginx mainline ล่าสุดจาก repo Nginx อย่างเป็นทางการ
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
ตรวจสอบเวอร์ชั่น
sudo nginx -v
# nginx version: nginx/1.15.2
เปิดใช้งานและเริ่ม Nginx
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
หลังจากติดตั้ง Nginx เราจำเป็นต้องสร้างโมดูล Brotli ( ngx_brotli
) เป็นโมดูล Nginx แบบไดนามิก จาก Nginx เวอร์ชัน 1.11.5 เป็นไปได้ที่จะรวบรวมโมดูลไดนามิกแต่ละตัวโดยไม่ต้องรวบรวมซอฟต์แวร์ Nginx ที่สมบูรณ์ ในไม่กี่ขั้นตอนถัดไปเราจะสร้างโมดูล Brotli เป็นแบบไดนามิกโดยไม่ต้องรวบรวม Nginx ที่สมบูรณ์
ดาวน์โหลดเวอร์ชันล่าสุดของซอร์สโค้ด mainline Nginx และแตกไฟล์
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
หมายเหตุ : มันเป็นสิ่งสำคัญมากที่หมายเลขเวอร์ชันของแพคเกจ Nginx และซอร์สโค้ด Nginx ตรงกัน หากคุณติดตั้ง Nginx 1.15.2 จากที่เก็บ Nginx อย่างเป็นทางการคุณต้องดาวน์โหลดซอร์สโค้ดรุ่นเดียวกันคือ 1.15.2 ในกรณีนี้
nginx-1.15.2.tar.gz
ลบ
rm nginx-1.15.2.tar.gz
โคลนngx_brotli
จาก GitHub
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
นำทางไปยังไดเรกทอรีซอร์สโค้ด Nginx
cd ~/nginx-1.15.2
ดาวน์โหลดไลบรารีที่จำเป็น
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
รวบรวมngx_brotli
เป็นโมดูลแบบไดนามิกและคัดลอกไปยังไดเรกทอรีมาตรฐานสำหรับโมดูล /etc/nginx/modules
Nginx,
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
รายการไฟล์ใน/etc/nginx/modules
และคุณจะเห็นและngx_http_brotli_filter_module.so
ngx_http_brotli_static_module.so
ls /etc/nginx/modules
ตั้งค่าการอนุญาต644
สำหรับ.so
ไฟล์ทั้งหมด
sudo chmod 644 /etc/nginx/modules/*.so
เราพร้อมที่จะกำหนดค่าการสนับสนุน Brotli ใน Nginx
เรียกใช้sudo vim /etc/nginx/nginx.conf
และเพิ่มสองคำสั่งต่อไปนี้ที่ด้านบนของไฟล์เพื่อโหลดโมดูล Brotli ใหม่
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
ทดสอบการกำหนดค่า
sudo nginx -t
สร้างไดเรกทอรีรากของเอกสารexample.com
และสร้างindex.html
ด้วยเนื้อหาบางส่วนในนั้น
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
example.com
สร้างโฮสต์เสมือนจริงสำหรับ
sudo vim /etc/nginx/conf.d/example.com.conf
เติมด้วยการกำหนดค่าต่อไปนี้
server {
listen 80;
server_name example.com; # Replace with your domain name
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com; # Replace with your domain name
root /var/www/example.com; # Replace with your document root
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}
ทดสอบการกำหนดค่า
sudo nginx -t
โหลดซ้ำ Nginx
sudo systemctl reload nginx.service
เยี่ยมชมเว็บไซต์ของคุณในเว็บเบราว์เซอร์และเปิดแท็บเครือข่ายของเครื่องมือสำหรับนักพัฒนา คุณจะเห็นContent-Encoding: br
ในส่วนหัวการตอบสนอง นั่นคือตัวบ่งชี้ที่การบีบอัด Brotli ทำงาน
คุณเปิดใช้งานการบีบอัด Brotli บนเว็บเซิร์ฟเวอร์ของคุณ
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