لینوکس

وارنیش کش چیست؟

اگر دارای سایتی هستید که بازدید بسیار بالایی دارد. اگر منایع سخت افزاری سایت شما بسیار مشغول هست و اگر دارای یک سایت دروپالی با بازدید بسیار بالا هستید وارنیش می تونه کمک بسیار بزرگی برای شما باشد.

وارنیش از دیگر اپلیکیش های سروری هست که در سایت هایی که طراحی کردم از ان استفاده شده است.

وارنیش کش varnish cache یک شتاب دهنده HTTP هست که طراحی شده است برای وب سایت های داینامیک با بازدید بسیار بالا.

Varnish بر خلاف کش سرور های دیگری مثل Squid که برای HTTP و SMTP و FTP به کاربرده می شود. به طور تخصصی بر روی HTTP متمرکز شده است.

وارنیش منبع باز است، تحت دو مجوز BSD منتشر شده است. نسخه 1.0 از وارنیش در سال 2006 منتشر شد. وارنیش 2.0 در سال 2008 منتشر شد، و وارنیش 3.0 در سال 2011 منتشر شد.

پروژه وارنیش توسط یک روزنامه آنلاین نروژی آغاز شده است. به زبان C نوشته است و برای سیستم عامل های یونیکس طراحی شده است البته باید بگم که وارنیش قابلیت نصب بر روی همه سیستم عامل های معروف را دارد.. توسط Poul-Henning Kamp, توسعه داده می شود.

اطلاعات در  وارنیش در حافظه رم سیستم ذخیره می شود.و سپس تصمیم می گیرد که چه اطلاعاتی در حافظه رم و چه اطلاعتی به هارد سیستم انتقال پیدا کند.

وارنیش با هر اتصال بک ترد جداگانه اختصاص می دهد تا وقتی که به محدودیت تعداد کانکشن برسدو همپچنین درخواست های ورودی جدید را در صف سر ریز قرار

می دهد.ک

وارنیش برای پیکربندی خود از ساختار فایلی با پسوند VCL استفاده می کند که  به وسیله زبان C اسکریپت نویسی برایش انجام می شود

Varnish همچنین از  load balancing و round robin به خوبی پشتیبانی می کند. 

قابلیت نوشتن پلاگین ها برای وارنیش از جمله مزایای بسیار خوب ان هست که شما با نوشتن و یا استفاده از ماژول های نوشته شده برای وارنیش می تونید به خیلی از نیازهای خود جواب بدهید از جمله ماژول های معروف می توانم به Vanirsh security را نام ببرم. 

پشیبانی از ESI

فشرده سازی GZIP و استخراج او

و قابلیت های بسیار دیگر

وارنیش باتوجه به ساختاری که دارد و قابلیت برقراری ارتباط بسیار موثر و عالی در سایت های دروپال بسیار طرفدار دارد و در اکثر سایت های دروپالی پربازدید یک پای ثابت هست

سایت اصلی دروپال برای پاسخگویی به بازدید بسیار بالایش از وارنیش استفاده می کند

در اکثر سایت های پربازدیدی که خودم کار کارده ام از وارنیش برای بالا بردن سرعت پاسخگویی استفاده

در وب سایت العالم وارنیش در زمانی که به این سایت حملات شدیدی می شد بسیار فوق العاده عملکرد و بدون اینکه منابع سرور درگیر باشد و ... به خوبی از پس 600 مگابایت پهنای باید لحظه بر آمد و شخصا شاهد چنین ترافیکی بودم. در زمانی که به سایت حمله می شود نقش وب سرور خیلی مهم هست و وارنیش به عنوان یک شتابدهنده برای انجین ایکس به عملکرد عالی دارد.

البته باید ذکر کنم که وارنیش اگر به خوبی کانفیگ نشود مشکلات بسیاری رو برای سایت شما به وجود می اورد

از جمله این مشکلات برای سایت هایی بیشتر نمایان می شود که سایت شما در لحظه در حال بروزرسانی هست و مطالب صفحات شما تغییر پیدا می کند بیشتر نمود می کند واین هم دلیلش این هست که وارنیش صفحات سایت شما رو در کش خودش ذخیره می کند تا در درخواست های بعدی بدون وقفه و فراخوانی وب سرور بتواند پاسخگوی درخواست ها باشد.

برای نصب وارنیش می تونید از اموزش زیر استفاده کنید

http://www.webhostingtalk.ir/f175/18111/

 

NGINX چیست ؟

nginxقصد دارم در سلسه مطالبی در رابطه با ماژول ها و برنامه هایی که بر روی وب سرورهای سایت هایی که طراحی کرده ام صحبت کنم اگر مطالب وب سایتم رو دنبال کرده باشید در رابطه با مشکلاتی که با وب سرور آپاچی  در سرور های سایت شبکه خبری العالم داشتیم صحبت کرده ام.

بزرگترین مشکل وب سرور معروف آپاچی محدودیت کانکشن همزمان 10000 تایی هست که دارد و همچنین میزان مصرف بالای حافظه است. Nginx وب سرور معروفی هست که رایگان هست ,حجم پایینی دارد و کارایی بسیار بالا و تحت لایسنس BSD منتشر می شود. یکی بزرگترین مزیتهای این وب سرور ، پشتیبانی بسیار عالی از فایل های استاتیک هست. 
 
Nginx سرعت پاسخگویی بسیار بالایی دارد و در بازدید های بسیار بالا واقعا عالی عمل می کند. از جمله قابلیت های Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx به نظر بسیار خوب هست و فروم Nginx هم بسیار بهتر،  من خودم اکثر سوالاتم رو در این سایت در زمان بسیار کوتاهی دریافت می کنم و این برای من بسیار ارزشمند هست. بروز رسانی و نصب Nginx  بسیار ساده است و یکی از قابلیت های خوب Nginx این هست.
در زمانی که شما می خواهید به نسخه جدید تر   Nginx خودتون رو اپگرید کنید به صورت on the fly این کارو انجام می دهد و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشه خیلی اهمیت داره.
 
Nginx  برای مدیریت در خواست ها یا همون  connection ها از روش منحصر به خودش استفاده می کند که البته از این روش در وب سرور های دیگری هم استفاده شده است. 
 
در وب سرور Nginx برای هردرخواست یک thread جدید درست می شود و این درحالی هست که سیستم thread poll هم که دارد thread را تا زمانی حفظ می کند که در اون لحظه درخواست جدید بیاد و Nginx از thread های بیکار استفاده می کند. این روش استفاده از thread ها در انجین ایکس بسیار کارامد هست به طور کلی مدیریت باز و بست شدن thread ها در وب سرور هایی مثل آپاچی باعث شده که این وب سرور در کانکشن های بالا ،در هندل کردن این بازدید ها به قول معروف کم بیاورد.
 
Nginx علاوه بر این که یک وب سرور هست به درخواست های reverse proxy و e-mail (IMAP/POP3) proxy  ها هم پاسخ  می دهد.
 
 

 
 
 

Total Sites Across All Domains

August 1995 - February 2011

Market Share for Top Servers

Across All Domains 

August 1995 - February 2011

Totals for Active Servers

Across All Domains
June 2000 - February 2011

Market Share for Top Servers

Across the Million Busiest Sites

 September 2008 - February 2011

 
تنظیمات Nginx برای راه اندازی دروپال
 

بعد از اینکه هسته سرور و پکیج های سرور خودتون رو بروزرسانی کردید کافیه در خط فرمان لینوکس دبیانی خودتون دستور زیر را وارد کنید

apt-get install nginx

و بعد از تمام شدن مراحل نصب کافیه Nginx را استارت کنیم

/etc/init.d/nginx start

حالا فقط کافی در یک مرورگر ادرس سرور خودتون رو وارد کنید.

 

برای اینکه از قابلیت ادرس های تمیز یا clean url در دروپال استفاده کنید باید دستورات زیر را در تنظیمات انجین ایکس وارد کنید

vi /etc/nginx/sites-available/www.example.com.vhost

 

server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://www.example.com$request_uri permanent;
       }

       index index.php index.html;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
        location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
                deny all;
        }

       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

       location / {
                try_files $uri $uri/ /index.php?$args;
       }

       location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
                expires max;
                log_not_found off;
       }

       location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       }
}
 

 

برای اینکه بتونید فایل ها php رو اجرا کنید باید از واسطه ای(منتقل کننده) مثل php-fpm استفاده کنید.

 

 

دسته بندی ها: