نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Brotli (br) یک الگوریتم فشرده سازی منبع باز جدید است که توسط گوگل به عنوان گزینه ای برای Gzip ، Zopfli و Deflate ساخته شده است. این کار به طور رسمی در کارگروه مهندسی اینترنت (IETF) به عنوان RFC 7932 تعریف شده است . مطالعه موردی گوگل در مورد Brotli ، نسبت فشرده سازی را تا 26٪ کوچکتر از روشهای فعلی نشان داده است ، با مصرف CPU کمتر.
Nginx پشتیبانی رسمی ندارد اما یک ماژول شخص ثالث وجود دارد که توسط گوگل بنام ngx_brotli ساخته شده است که می توانیم از آن برای افزودن پشتیبانی به Nginx استفاده کنیم.
این راهنما چگونگی افزودن پشتیبانی از Brotli به Nginx را به طور نمونه جدید Ubuntu 18.04 LTS Vultr به شما نشان می دهد.
توجه: این راهنما johndoe
به عنوان کاربر نمونه و example.com
به عنوان یک دامنه مثال استفاده خواهد کرد. آنها را مطابق نام خود جایگزین کنید.
A
/ AAAA
سوابق تنظیم شده استنسخه اوبونتو را بررسی کنید.
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 به شما نیاز دارد. در این قسمت یک گواهی مطمئن از Letry 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
دریافت گواهینامه های RSA و 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 را از رپو رسمی 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 می سازیم.
آخرین نسخه کد اصلی 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
ماژول پویا را کامپایل کنید و آن را در فهرست استاندارد برای ماژول های Nginx کپی کنید /etc/nginx/modules
.
./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 را در سرور وب خود فعال کرده اید.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد