اگر سرور شما از انجینکس برای میزبانی استفاده میکند افزایش سرعت nginx از طریق Ngx_Pagespeed یکی از بهترین راهکارها برای خلق تجربه لذتبخش برای کاربران سایت شما میباشد.
انجینیکس یک وب سرور قدرتمند و اپن سورس با قدرت هندل درخواستهای بسیار زیادی در لحظه میباشد، و قدرت این را دارد که به عنوان یک reverse proxy مورد استفاده قرار گیرد. این وب سرور قدرتمند با زبان c برنامهنویسی شده و در صورتی که به درستی کانفیگ شود میتواند بسیار قدرتمندتر از رقبای پرمیوم خود باشد.
انجینکس به دلیل پاسخگویی به درخواستهای سایتهای زیاد میزبانی شده و عملکرد و پایداری بی مانند آن معروف و محبوب شده است. یکی از موارد مهمی که در بهبود شرایط استفاده کاربر از سایت و یا user experience مهم است سرعت لود وبسایت و صفحات داخلی آن است که یک مدیر سرور باید همیشه به آن توجه کافی داشته باشد.
Ngx_Pagespeed یک ماژول open source برای nginx میباشد که با ست شدن با این وب سرور سرعت بارگذاری صفحات شما را به شدت افزایش میدهد.
در این مقاله شما را با نحوه افزایش سرعت nginx توسط Ngx_Pagespeed در centos آشنا خواهیم کرد پس با ما همراه باشید.
مراحل افزایش سرعت nginx
برای نصب ماژول Ngx_Pagespeed نیاز داریم تا ابتدا انجینکس را از طریق سورس کامپایل و نصب کنیم بدین منظور ابتدا توسط دستور زیر پکیجهای موردنیاز این برنامه را نصب میکنیم.
yum install wget gcc cmake unzip gcc-c++ pcre-devel zlib-devel yum group install "Development Tools"
حال توسط دستور wget آخرین ورژن انجینکس را بر روی سرور لینوکس خودمان دانلود میکنیم.
mkdir ~/downloads cd ~/downloads wget -c https://nginx.org/download/nginx-1.13.2.tar.gz tar -xzvf nginx-1.13.2.tar.gz
حال آخرین ورژن ماژول ngx_pagespeed را نیز دانلود کرده و از حالت فشرده خارج میکنیم.
wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip unzip v1.12.34.2-stable.zip
حال وارد دایرکتوری ماژول ngx_pagespeed میشویم و لایبری موردنیاز برای کامپایل این ماژول را دانلود میکنیم و سپس آن را از حالت فشرده خارج میکنیم.
cd ngx_pagespeed-1.12.34.2-stable wget -c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz tar -xvzf 1.12.34.2-x64.tar.gz
حالا وارد دایرکتوری nginx میشویم و آن را با ماژول مربوطه کامپایل میکنیم.
cd ~/downloads/nginx-1.13.2 configure --add-module=$HOME/downloads/ngx_pagespeed-1.12.34.2-stable/ --user=nobody --group=nobody --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS}/.
حال توسط دستورات زیر عملیات کامپایل و نصب را تکمیل میکنیم.
make make install
بعد از نصب nginx توسط دستورات زیر سیمبلینک لینکهای موردنظر را ایجاد کنید.
ln -s /usr/local/nginx/conf/ /etc/nginx/ ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
برای ایجاد فایل استارت انجینکس توسط دستور زیر یک فایل ایجاد میکنیم و محتویات زیر را داخل آن قرار میدهیم.
vi /lib/systemd/system/nginx.service
[Unit]Description=The NGINX HTTP and reverse proxy serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/var/run/nginx.pidExecStartPre=/usr/sbin/nginx -tExecStart=/usr/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target
در مرحله آخر افزایش سرعت nginx کافی است توسط دستورات زیر یکبار سرویس انجینیکس را ریستارت کنید.
systemctl start nginx systemctl enable nginx systemctl status nginx
سپس باید برای کانفیگ nginx و ماژول Ngx_Pagespeed باید دایرکتوریهایی که این ماژول برای cache کردن وب سایتها استفاده میکند را ایجاد کنیم.
mkdir -p /var/ngx_pagespeed_cache chown -R nobody:nobody /var/ngx_pagespeed_cache
حال باید ماژول را از طریق فایل کانفیگ nginx فعال کنیم. ابتدا فایل کانفیگ را باز میکنیم
vi /etc/nginx/nginx.conf
حال خطوط زیر را به آن اضافه میکنیم.
# Pagespeed main settings pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # Ensure requests for pagespeed optimized resources go to the pagespeed # handler and no extraneous headers get set. location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { }
حال توسط دستور زیر چک میکنیم تا فایل کانفیگ ما مشکلی نداشته باشه و اروری نده
nginx -t
در آخر هم سرویس nginx را یکبار ریست میکنیم تا تغییرات اعمال بشه
systemctl restart nginx
خوب به انتهای آموزش افزایش سرعت nginx توسط Ngx_Pagespeed در centos رسیدیم امیدوارم توسط این آموزش بتوانید سرور خود را بهینه کنید و لود سرعت وب سایتهای میزبانی شده خود را نیز به طور چشمگیری افزایش بدید.
سلام.
ببخشید این آموزش بروی سرور های مجازی هم که رم محدود بین ۲ – ۴ گیگ و سی پی یو ۲ یا ۴ هسته ای دارند هم کاربرد دارد؟
متشکرم بابت انتشار این مطلب
سلام
بله قطعا، تمامی روشهایی که برای افزایش سرعت ارائه میشه معمولا برای سرورهایی هستش که سخت افزار محدودتری دارند