افزایش سرعت nginx توسط Ngx_Pagespeed در centos
Nginx یک وب سرور قدرتمند و اپن سورس با قدرت هندل درخواستهای بسیار زیادی در لحظه میباشد، و قدرت این را دارد که به عنوان یک reverse proxy مورد استفاده قرار گیرد. این وب سرور قدرتمند با زبان c برنامهنویسی شده و در صورتی که به درستی کانفیگ شود میتواند بسیار قدرتمندتر از رقبای پرمیوم خود باشد.
انجینکس به دلیل پاسخگویی به درخواستهای سایتهای زیاد میزبانی شده و عملکرد و پایداری بی مانند آن معروف و محبوب شده است. یکی از موارد مهمی که در بهبود شرایط استفاده کاربر از سایت و یا user experience مهم است سرعت لود وبسایت و صفحات داخلی آن است که یک مدیر سرور باید همیشه به آن توجه کافی داشته باشد.
اگر سرور شما از انجینکس برای میزبانی استفاده میکند افزایش سرعت nginx از طریق Ngx_Pagespeed یکی از بهترین راهکارها برای خلق تجربه لذتبخش برای کاربران سایت شما میباشد.
Ngx_Pagespeed یک ماژول open source برای nginx میباشد که با ست شدن با این وب سرور سرعت بارگذاری صفحات شما را به شدت افزایش میدهد.
در این مقاله شما را با نحوه افزایش سرعت nginx توسط Ngx_Pagespeed در centos آشنا خواهیم کرد پس با ما همراه باشید.
برای نصب ماژول 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–۱.۱۳.۲.tar.gz
|
حال آخرین ورژن ماژول ngx_pagespeed را نیز دانلود کرده و از حالت فشرده خارج میکنیم.
۱
۲
|
wget –c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip
unzip v1.۱۲.۳۴.۲–stable.zip
|
حال وارد دایرکتوری ماژول ngx_pagespeed میشویم و لایبری موردنیاز برای کامپایل این ماژول را دانلود میکنیم و سپس آن را از حالت فشرده خارج میکنیم.
۱
۲
۳
|
cd ngx_pagespeed–۱.۱۲.۳۴.۲–stable/
wget –c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz
tar –xvzf ۱.۱۲.۳۴.۲–x64.tar.gz
|
حالا وارد دایرکتوری nginx میشویم و آن را با ماژول مربوطه کامپایل میکنیم.
۱
۲
|
cd ~/downloads/nginx–۱.۱۳.۲
./configure —add–module=$HOME/downloads/ngx_pagespeed–۱.۱۲.۳۴.۲–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 رسیدیم امیدوارم توسط این آموزش بتوانید سرور خود را بهینه کنید و لود سرعت وب سایتهای میزبانی شده خود را نیز به طور چشمگیری افزایش بدید.