رول های NGINX برای ویبولتین +‌ VBSEO

رول های NGINX برای ویبولتین +‌ VBSEO

خیلی از دوستان دنبال رول های یا به عبارتی دیگر Rewrite_Rule های مربوط به NGINX برای ویبولتین ۴ و VBSEO هستند. هر چند که توصیه می کنم هر جوری شده، حتی با علم به اینکه شکستن لینک های قدیمی باعث تخریب سئو ویبولتین خواهد شد (لزوما اینطور نخواهد شد)، اقدام به حذف VBSEO کنید ولی اگر اصرار به این استفاده از این پلاگین مرده دارید این رول های NGINX مشکل شما رو حل خواهد کرد :

رول های NGINX مخصوص ویبولتین +‌ VBSEO

رول های NGINX مخصوص ویبولتین +‌ VBSEO

توجه داشته باشید که ریرایت های فوق با این فرض که انجمن شما در روت دامنه قرار دارد نوشته شده اند. برای مثال اگر انجمن شما در پوشه /forum نصب شده است، میبایست Rewrite ها رو به این صورت تغییر بدید :

تبدیل کردن کد های .htaccess آپاچی برای ویبولتین و VBSEO به NGINX REWRITE

رول های NGINX مخصوص ویبولتین +‌ VBSEO

ریرایت های فوق به سادگی پرمالینک و ساختار لینک های انجمن مبتنی بر ویبولتین ۴ به همراه VBSEO را به فرمتی که قبلا روی آپاچی و به کمک .htaccess بوده است حفظ خواهد کرد. اگر از نقشه گوگلی vbseo یا VBSEO SITEMAPP استفاده نمی کنید، میتوانید قسمت مربوط به sitemap رو از ریرایت مذبور حذف کنید. و باز هم فراموش نکنید همین چند ماه گذشته بود که معروف ترین انجمن های مبتنی بر ویبولتین به دلیل یک باگ امنیتی در VBSEO هک و به عبارتی Deface شدند.

چگونه وردپرس را روی سرور اوبونتو نصب کنیم؟

آموزش نصب وردپرس روی سرور لینوکس اوبونتو

در این نوشته خواهد آموخت که چگونه وردپرس را با استفاده از ابزار easyengine در سرور لینوکس اوبونتو و وب سرور Nginx نصب کنید. easyengine ابزاری عالی است که به سرعت Nginx را بر روی vps اوبونتو نصب می کند.

آموزش نصب وردپرس روی سرور لینوکس اوبونتو

مرحله ۱ – با توجه به مقاله EasyEngine  یا (ee) را نصب کنید.

مرحله ۲ – تنظیمات پیش فرض (ee) را با استفاده از یک ادیتور مانند nano ویرایش کنید :

مرحله ۳ – خطوط زیر را پیدا کنید :

آموزش نصب وردپرس روی سرور لینوکس اوبونتو

مرحله ۴ – خطوط مهم (و یا قسمت هایی که فکر می کنید نیاز به تغییر دارند) را ویرایش کنید ، مهم ترین بخش ها  wpadminuser، wpadminpass و wpadminemail هستند.

آموزش نصب وردپرس روی سرور لینوکس ubuntu

پس از پایان این مرحله  ، تغییرات را ذخیره کرده (Control+O) و سپس از ادیتور خارج شوید  (Control+X).

 مرحله ۵ – حالا یکی از این دستورات زیر را برای نصب وردپرس اجرا کنید:

  • نصب وردپرس ( بدون کش )

  • نصب ورد پرس با پلاگین W3 Total Cache یا w3tc

  • نصب وردپرس با پلاگینWP Super Cache یا wpsc

بدیهی است که باید به جای domain.com ، باید نام دامین خود را قرار دهید . لیست کامل دستورات موجود را میتوانید از این قسمت مطالعه کنید

چرا باید برای نصب وردپرس با پلاگین W3TC یا WPSC از دستور های مختلف استفاده شود ؟ پاسخ این سوال این است که هر دو پلاگین نیاز به اضافه کردن قوانین ری رایت خاص در فایل htaccess (آپاچی) دارند این در حالی است که Nginx از فایل . htaccess پشتیبانی نمی کند بنابراین شما باید قوانین htaccess. مخصوص W3TC و یا WPSC را در فایل کانفیگ Nginx مشخص کنید (در ابتدا  باید فایل htaccess را به تنظیمات  nginx تغییردهید). به طور معمول این تنطیمات را میتوانید به صورت دستی انجام دهید. برای اینکار مقالاتی که برای W3TC و  WPSC قرار داده شده را مطالعه کنید  خوشبختانه، با استفاده از EasyEngine لازم نیست که شما این مراحل را به صورت دستی انجام دهید چرا که (eee) به طور خودکار،کار را برای شما انجام می دهد .

در این مثال سایت WP بدون کش نصب خواهد شد :

آموزش نصب وردپرس روی سرور لینوکس ابونتو

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

آموزش نصب وردپرس روی سرور لینوکس

باید با استفاده از نام کاربری و کلمه عبور تعریف شده در مرحله ۳ از طریق domain.com/wp-admin  وارد صفحه مدیریت WP ( داشبورد ) شوید .

آموزش نصب وردپرس روی سرور لینوکس

چگونه وردپرس را روی لینوکس Ubuntu بهینه سازی کنیم؟

بهینه سازی وردپرس روی لینوکس Ubuntu

در این نوشته، ما به شما می آموزیم که عملکرد وردپرس را با پلاگین WP Super Cache ، Jetpack Photon و همچنین Nginx  به عنوان وب سرور، بهینه سازی کنید . با این تنظیمات و با بهره گیری از روش های کش و ذخیره این پلاگین ها ، تا حد زیادی ظرفیت بازدید همزمان سایت وردپرس شما افزایش می یابد.

WP Super Cache صفحات وردپرس را به صورت صفحات استاتیک HTML کش و ذخیره میکند به طوریکه درخواست ها  برای یک صفحه cache شده، به پردازش شدن توسط اسکریپت های PHP وردپرس نیاز ندارد. به طور معمول، اکثر بازدید کنندگان سایت شما نسخه کش شده صفحات وردپرس را مشاهده میکنند، به طوری که قدرت پردازش سرور برای خدمت به تعداد کاربران بیشتر افزایش خواهد یافت. افزونه WP Super Cache توسط  Donncha O Caoimh توسعه یافته است.

Jetpack Photon یک سرویس شتاب دهنده تصویر است که با استفاده از شبکه تحویل محتوا (CDN) ، تصاویر سایت وردپرس شما را کش و ذخیره میکند. فوتون Photon یکی از ماژول های موجود در پلاگین jetpack است، که توسط تیم jetpack توسعه یافته است.

  1. پیش نیازها :

در این آموزش، شما به یک سرور وردپرس که از Nginx به عنوان وب سرور استفاده می کند نیاز دارید. در صورتی که این پیش نیاز فراهم نباشد مقالات زیر مطالعه کنید:

  1. الزامات و محدودیت های پلاگین :

WP Super Cache با پلاگین هایی که از آرگومان کوئری استفاده میکنند کار نمیکند. همچنین، شما نباید از تنظیمات Permalink پیش فرض وردپرس استفاده کنید (که از شماره صفحه وردپرس به عنوان آرگومان استفاده میکند).

  1. محدودیت های پلاگین Jetpack Photon :

  • شما باید برای فعال کردن jetpack یک حساب کاربری در com ایجاد کنید.
  • سایت وردپرس شما باید به پورت ۸۰ گوش دهد(فوتون با سایت های HTTPS کار نمیکند)
  • هنگامی که یک تصویر gif ، jpg، یا png کش میشود، امکان آپدیت آن وجود ندارد. تنها راه حل آن آپلود دوباره تصویر و تغییر نام تصاویر در سایت شماست.
  • تصاویری که زمان بیشتری برای کپی شدن آن در Photon CDN (بیش از ۱۰ ثانیه) صرف میشود باید نامشان تغییر کرده و یک بار دیگر آپلود شوند .

اگر نمی خواهید از Photon استفاده کنید، در صورت تمایل مراحل مربوط به نصب آن را مطالعه نکنید .

  1. نصب و پیکربندی پلاگین WP Super Cache:

بهینه سازی وردپرس روی لینوکس Ubuntu

اولین قدم برای نصب پلاگین WP Super Cache این است که پلاگین را از سایت wordpress.org دانلود کرده و به پوشه home منتقل کنید:

قبل از شروع این کار ، پکیج Unzip باید نصب شده باشد در غیر اینصورت آن را با اجرای دستور زیر نصب کنید :

سپس افزونه WP Super Cache را در پوشه افزونه های وردپرس از حالت زیپ خارج کنید ( اگر وردپرس را در جای دیگری نصب کرده اید، مسیر مورد نظر را جایگزین مسیر /var/www/html  کنید) :

سپس مالکیت گروه پلاگین را تغییر  دهید :

با اجرای دستور زیر به این پلاگین مجوز write در پوشه wp-content و فایل wp-config.php را بدهید:

فایل های وردپرس به درستی راه اندازی شدند، در مرحله بعد باید این افزونه را فعال کنید.

  1. فعال کردن پلاگین WP Super Cache:

به عنوان مدیر، وارد سایت وردپرس و داشبورد ( httpss://example.com/wp-admin)خود شوید و با اجرای موارد زیر پلاگین WP Super Cache را فعال کرده و وارد تنظیمات آن (settings) شوید:

  • روی Plugins کلیک کنید (ستون سمت چپ)
  • پلاگین WP Super Cache را فعال کنید.
  • به تنظیمات WP Super Cache وارد شوید.
  1. فعال کردن کش و ذخیره :

حال باید کش را فعال کرده و پلاگین WP Super Cache را به درستی پیکربندی کنید :

  • بر روی تب پیشرفته (Advanced) کلیک کنید.
  • گزینه Cache hits to this website for quick access را چک کنید.
  • برای کش کردن فایل ها، گزینه mod_rewrite را فعال کنید .
  • گزینه Compress pages so they’re served more quickly to visitors را چک کنید.
  • گزینه Don’t cache pages for known users را چک کنید.
  • گزینه Cache rebuild را چک کنید.
  • گزینه Extra homepage checks را چک کنید.

با کلیک بر روی Update Status تنظیمات فوق را ذخیره کنید.

WP Super Cache طوری تنظیم شده که صفحات وردپرس را کش کنید. اکنون باید Nginx را برای کش کردن فایل ها پیکربندی کنیم، اما قبل از این کار، در صفحه تنظیمات WP Super Cache لازم است که به نکاتی اشاره کنیم :

  • هشدار درباره Mod Rewrite و  Garbage Collection :

ممکن است که در بالای صفحه تنظیمات WP Super Cache پیغام هشدار دهنده مشاهده کنید :

بهینه سازی وردپرس روی لینوکس Ubuntu

میتوانید این پیغام را نادیده بگیرید چون بجای آپاچی از nginx استفاده میکنید .

بهینه سازی وردپرس روی لینوکس Ubuntu

این پیغام را می توانید به دو شیوه حذف کنید. اولین روش رد کردن آن (به عنوان مثال با کلیک بر روی دکمه ” Dismiss”) و دومین روش پیکربندی Garbage Collection می باشد. برای پیکربندی Garbage Collection ، در بخش Expiry Time & Garbage Collection در تب Advanced ، تغییرات مورد نظر را اعمال کرده و سپس بر روی دکمه Change Expiration کلیک کنید.

  • مشاهده محتویات کش شده :

شما می توانید لیستی از تمام صفحات کش شده را با ورود به تب Contents در تنظیمات WP Super Cache مشاهده کنید. در اینجا شما قسمتی به نام ” Cache stats” خواهید دیدکه  تعداد فایل های کش شده را نشان می دهد . همچنین شما می توانید کش فعلی را از این قسمت حذف کنید.

WP Super Cache فقط صفحات بازدید شده توسط کاربرانی که وارد سایت نشده اند و کامنتی در سایت ندارند را کش میکند. بنابراین اگر صفحاتی که شما بازدید کرده اید در لیست صفحات کش شده نیست، تعجب نکنید . تا این مرحله ، Nginx هنوز برای کش کردن فایل ها پیکربندی نشده است .

  • سایر تنظیمات WP Super Cache:

علاوه بر تنظیمات فوق، موارد دیگری هستند که ممکن است مفید یا جالب باشد. به تب  CDN  و  Preloading وارد شوید:

استفاده از CDN

اگر می خواهید از Jetpack Photon استفاده کنید نیازی به CDN نخواهید داشت. در صورت استفاده از CDN، باید  CDN support را در تب CDN فعال کنید.

Preloading Cache

در تب Preloading ، می توانید تنظیمات WP Super Cache را بر روی کش و ذخیره خودکار صفحات تنظیم کنید. تنظیمات این بخش میتواند به گونه ای باشد که به طور خودکار کل سایت یا تعداد ثابتی از پست های اخیر در یک فاصله زمانی مشخص، کش و ذخیره شود. صفحات Preloading از منابع سیستم (CPU برای بازیابی صفحات، و فضای دیسک برای ذخیره صفحات استاتیک) استفاده میکند ، پس قبل از فعال کردن آن این موارد را در نظر بگیرید.

  1. پیکربندی Nginx:

اکنون سایت وردپرس شما، صفحات را با استفاده از WP Super Cache کش میکند و تنظیمات  Nginx را نیز باید به منظور کش کردن فایل ها تغییر دهید . فایل زیر را با اجرای دستور زیر ویرایش کنید:

با توجه به مقالاتی که در قسمت پیش نیاز ها به آن اشاره شد ، خط زیر را کپی کرده و در زیر server_name قرار دهید :

سپس خطوط قبل از خط زیر را حذف کنید

Nginx را مجدد راه اندازی کنید تا تغییرات ایجاد شده اجرا شود :

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

  1. نصب و فعال سازی Jetpack Photon :
بهینه سازی وردپرس روی لینوکس Ubuntu

پلاگین Jetpack را در پوشه home دانلود کنید :

سپس آن را در پوشه افزونه های وردپرس (plugins  ) اکسترکت کنید :

jetpack با ماژول های مختلف دیگری به غیر از Photon همراه خواهد بود ، که بسیاری از آنها به طور پیش فرض فعال هستند. اگر علاوه بر jetpack مایل به استفاده از ماژول های دیگر آن هستید، نیازی به دنبال کردن ادامه این آموزش ندارید و به سادگی می توانید ماژول Photon را از طریق تنظیمات پلاگین jetpack در صفحه مدیریت وردپرس (داشبورد) فعال کنید. در غیر این صورت، ماژول های دیگر را با اضافه کردن چند خط کد به فایل PHP پلاگین، غیر فعال کنید.

فایل wp-config.php را با اجرای دستور زیر ویرایش کنید :

خطوط زیر را به انتهای فایل اضافه کنید :

تغییرات را ذخیره کرده و خارج شوید. پلاگین jetpack همراه با ماژول Photon و با غیر فعال شدن سایر ماژول ها فعال خواهد شد .

  1. فعال کردن پلاگین jetpack :

به عنوان مدیر، وارد سایت وردپرس و داشبورد ( httpss://example.com/wp-admin)خود شوید و با اجرای موارد زیر پلاگین jetpack را فعال کرده و وارد تنظیمات (settings) آن شوید:

  • روی Plugins کلیک کنید (ستون سمت چپ)
  • پلاگین jetpack را فعال کنید.
  • به تنظیمات WP Super Cache وارد شوید.

بر روی Connect to WordPress.com در بالای صفحه Plugins کلیک کنید

پس از وارد کردن نام کاربری و رمز عبور اکانتی که در WordPress.com ایجاد کرده اید بر روی Authorize Jetpack کلیک کنید:

بهینه سازی وردپرس روی لینوکس Ubuntu

تمام تصاویر موجود در سایت وردپرس شما (png ، JPG، GIF) توسط Photon CDN کش خواهد شد و با مصرف پهنای باند و منابع کمتر و افزایش ظرفیت بازدید همزمان، سرور شما رو تحت تاثیر قرار خواهد داد. با این راهکار توانستید وردپرس خود را بهینه سازی کنید.

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

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

اگر از nginx و php-fpm در دایرکت ادمین استفاده می کنید ، احتمالا بار ها و بار ها بعد از ریستارت کردن سرویس وب سرور انجین‌ اکس خود با مشکل صفحه سفید در هنگام فراخوانی و باز کردن صفحات وب سایت های هاست شده روی سرور مواجه شده اید .

 

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

 

مشکل آن جاست که سرویس nginx بدون هیچ ارور یا پیام خطایی ریستارت می شود . در هنگام چک کردن وضعیت سرویس یا status مشاهده میکنید که سرویس انجین‌ اکس ظاهرا آپ و در حال سرویس دهی است. ولی به درخواست ها پاسخی نمی دهد . این ایراد مربوط به custombuild 2.0 و عدم سازگاری ۱۰۰٪ وب سرور nginx با دایرکت ادمین در زمان نگارش این مطلب است . این مشکل انجین‌ اکس در دایرکت ادمین حتی زمانی که شما یک ساب دامنه ، دامنه یا حتی اکانت FTP جدید ایجاد میکنید نیز رخ می دهد .

حل این مشکل در سرور های مبتنی بر دایرکت ادمین کار پیچیده ای نیست . در واقع دلیل بروز این مشکل عدم kill شدن و استارت مجدد worker های وب سرور است . بنا بر این راه حل آن هم Kill کردن کامل کلیه proccess های مربوط به worker  های وب سرور انجین‌ اکس و را ه اندازی مجدد وب سرور است . در صورت مشاهده این مشکل کافی است در محیط SSH دستورات زیر را وارد و اجرا کنید :

killall nginx

service nginx start

این مشکل در مورد سرویس php-fpm نیز صادق است . در صورت اعمال تغییرات در فایل php.ini و بعد از ریست کردن سرویس php-fpm ممکن است تغییرات در php اعمال نشود . در این صورت باید عین دستورات بالا را برای سرویس php-fpm اجرا کنید . اگر ورژن php شما ۵٫۳ است باید دستورات زیر را اجرا کنید :

killall php-fpm53

service php-fpm53 start

برقرار باشــید…

آموزش نصب Google Page Speed در وب سرور Nginx

نصب ماژول Google Page Speed در وب سرور Nginx

بوسیله ماژول Google Page Speed در وب سرور Nginx سرعت باز شدن صفحات وب سایت های خود را چندین برابر افزایش دهید . اوج افزایش سرعت و کارایی این ماژول حرفه ای افزایش سرعت ، در وب سرور nginx مشاهده می شود . این پلاگین تاثیر مثبتی نیز بر سئو و سهولت تعامل اسپایدر ها با سایت شما می گذارد.

 

نصب ماژول Google Page Speed در وب سرور Nginx
نصب ماژول Google Page Speed در وب سرور Nginx

 

برای نصب ماژول Google Page Speed در وب سرور Nginx حتما باید در هنگام کامپایل Nginx از سورس به صورت یک ماژول اضافه آن را به وب سرور معرفی کنید ‌:

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

در نسخه های RHEL مانند CentOS :

sudo yum install gcc-c++ pcre-dev pcre-devel zlib-devel make

در نسخه های بر پایه Debian و Ubuntu :

sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev

آخرین نسخه ماژول Google Pagespeed طراحی شده برای Nginx را دانلود می کنیم :

cd /root

wget httpss://github.com/pagespeed/ngx_pagespeed/archive/master.zip

unzip master.zip

cd ngx_pagespeed-master

حالا آخرین نسخه Page Speed را از سایت گوگل دانلود کرده و داخل پوشه nginx pagespeed module اکسترکت میکنیم :

wget httpss://dl.google.com/dl/page-speed/psol/1.7.30.3.tar.gz

tar -xzvf 1.7.30.3.tar.gz

حالا مجددا به root بر میگردیم و سورس نسخه مورد نظر Nginx را دانلود میکنیم :

cd /root

wget httpss://nginx.org/download/nginx-1.4.4.tar.gz

tar -xzf nginx-1.4.4.tar.gz

cd nginx-1.4.4

و در آخر اقدام به کامپایل وب سرور Nginx از سورس میکنیم . با این فرق که علاوه بر ماژول های مورد نظر ، مازول nginx page speed را هم با کمک دستور configure به سورس اضافه میکنیم :

./configure –add-module=/root/ps/ngx_pagespeed-master/

make

make install

نحوه استفاده از ماژول ngx_pagespeed در nginx

 

کانفیگ وب سرور nginx برای استفاده از googlepagespeed کار سختی نیست . برای استفاده از pagespeed در nginx کافی است تا مطابق دستورات زیر عمل کنید :

دو خط زیر را در فایل nginx.conf و داخل بلاک https اضافه کنید :

pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;

حالا در بلاک های مربوط به هر دامنه خطوط زیر را اضافه کنید :

 

location ~ “\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+” { add_header “” “”; }
location ~ “^/ngx_pagespeed_static/” { }
location ~ “^/ngx_pagespeed_beacon$” { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
location /pagespeed_console { allow 127.0.0.1; deny all; }

 

و درانتها وب سرور Nginx را ریستارت کنید :

nginx -t

service nginx restart

برقرار باشید…

وب سرور Nginx چیست

وب سرور Nginx چیست

 

وب سرور Nginx چیست
وب سرور Nginx چیست

 

web server چیست؟

به طور کلی هر چیز ( نرم افزاری یا سخت افزاری ) که داده ای را از طریق اینترنت یا شبکه به کاربر منتقل کند web server نامیده می شود.

nginx نامweb server/reverse proxy ی سبکی است که در سال ۲۰۰۲ به علت مشکل تعداد درخواست زیاد

در سایت روسی httpss://www.rambler.ru شکل گرفت و

در سال ۲۰۰۴ اولین نسخه رسمی خود را انتشار داد. تا کنون این وب سرور ۱۱٫۲۸%. از سهم تمام وب سرور های دنیا را در دست دارد.

این وب سرور که هر روز جمع بیشتری از آن استفاده می کنند WordPress.com را لیست استفاده کننده گان خود دارد.

از نکات مهم این وب سرور این است که بر روی سیستم عامل های windows linux Bsd و osx به راحتی نصب می شود

در این سیستم استفاده از روش  asynchronous event-driven  است که باعث شده که به میزان استفاده ثابت از RAM برسیم.

asynchronous event-driven چیست؟

وب سرور ها به طریق مختلفی اقدام به مدیریت درخواست ها  (connection ) می کنند

  •     برای هر درخواست یک process جدید درست می کنند
  •     برای هر درخواست یک process جدید درست می کنند در حالی که سیستم connection poll هم دارند که تا مدتی process ها را نگه می دارد و در صورتی که در آن زمان درخواست جدیدی بیاید از process های بیکار استفاده می کنند
  •     برای هر درخواست یک thread جدید درست می کنند
  •     برای هر درخواست یک thread جدید درست می کنند در حالی که سیستم thread poll هم دارند که تا مدتی thread ها را نگه می دارد و در صورتی که در آن زمان درخواست جدیدی بیاید از thread های بیکار استفاده می کنند
  •     یک process همه event ها را مدیریت می کند. (قبول درخواست، پاسخ به کاربر، خواندن داده و … )
  •     ترکیبات روش ها

Nginx از روش چهارم استفاده می کند به همراه ساخت process برای مجموعه از event ها …

البته مقداری مشخص را در config مشخص می کند. همه این ها برای این است که بیشترین استفاده را از سیستم خود بکنیم.

به طور کلی باز کردن process و thread هزینه بر است و از آن مهمتر مدیریت اینهاست.

وب سرورهایی شبیه Apache که  process و thread هستند با درخواست های زیاد

به شدت درگیر مدیریت  process و thread می شوند که در نتیجه فشار زیاد تری به سرور می آورند

httpss://www.devside.net/articles/apache-performance-tuning
The more RAM your system has, the more processes [and threads] Apache can allocate and use; which directly translates into the amount of concurrent requests/clients Apache can serve.

ارتباط مستقیمی بین RAM و درخواست ها در این وب سرور ها وجود دارد که در روش nginx تا جای ممکن از استفاده ی اضافه آن جلوگیری شده است.

توضیح دیگری را دیدم که جالب به نظر می رسید.#

فکر کنید که وب سرور یک پیتزا فروشیست که باید سفارش ها را از طریق تلفن دریافت کند.

در روش process و thread فروشگاه کارمند استخدام می کند (process و thread) که

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

تا پیتزا حاضر شود تا به مشتری بگویند ( هنوز تلفن قطع نشده) پیتزای شما حاضر است.

در روش Nginx فقط تعداد محدودی کارمند استخدام می شود که تلفن ها را پاسخ می دهد و می گوید به محض حاضر شدن به شما می گوییم. و وقتی حاضر شد زنگ می زند.

nginx چه کارهایی بلد است؟

nginx علاوه بر این که یک وب سرور است  reverse proxy و e-mail (IMAP/POP3) proxy هم هست …

علاوه بر درخواست های https در خواست های مربوط به IMAP و POP3 هم می تواند از امکانات nginx استفاده کند.

در این روش شما می توانید از روش ها loadbalancing و چیزهایی از این قبیل برای ایمیل استفاده کنید.

البته شما می توانید حتی کارهای عجیب غریبی مثل authentication mail را هم از طریق nginx انجام دهید.

 

وب سرور Nginx چیست؟
وب سرور Nginx چیست؟

 

reverse proxy درخواست های بیرونی را به صورت صف شده و جاهای مختلف می فرستد.

  •     reverse proxy ها موجودی سرور های شما را مخفی می کنند و همه ی دنیا شما را از دریچه reverse proxy می بینند.
  •     تمام درخواست ها از reverse proxy می گذرد پس جای مناسبی برای firewall ها و … است
  •     reverse proxy درخواست ها به صورت گسترده ای می تواند پخش کند.
  •     reverse proxy فشار را با cache کردن محتوای صفحات ثابت می تواند کم کند
  •     reverse proxy با فشرده سازی محتوای خروجی سرور ها می تواند زمان درخواست ها را کم کرده و پاسخ به درخواست ها را سریع تر کند.
  •     درخواست ها بین سرور reverse proxy و سرور اصلی به سرعت انجام می شود و connection در reverse proxy باز می ماند و سرور اصلی در گیر نمی شود. ( روش SpoonFeeding )

موفق و سربلند باشید.

رفع خطای 502 Bad Gateway در nginx

رفع خطای 502 Bad Gateway در nginx
برای رفع خطای 502 Bad Gateway در nginx از طریق زیر انجام دهید
برای نصب وارد ssh شوید و کد زیر را وارد کنید

vi /usr/local/nginx/conf/nginx.conf  

و این خط را حذف کنید

https { 
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
 ...
 }  

و همچنین در کد زیر را وارد و عمل فوق را تکرار کنید

vi /etc/nginx/nginx.conf 

و ریستارت کنید

نصب nginx

نصب nginx
برای نصب nginx کافی است مراحل زیر را انجام دهید
اول python نسخه 2.5.6 را باید نصب کنید
برای نصب python وارد ssh شوید و ستور زیر را وارد کنید

cd /usr/local/src
wget httpss://python.org/ftp/python/2.5.6/Python-2.5.6.tgz
tar -zxvf Python-2.5.6.tgz
cd Python-2.5.6
./configure
make
make install

بعد از این کار دستور زیر را وارد کنید

service httpsd stop

و بعد با دستور کلی زیر nginx را نصب می کنیم

cd /usr/local/src
wget httpss://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.tar
cd publicnginx
./nginxinstaller uninstall  

و بعد

serivce httpsd restart

به همین راحتی نصب شد