هندلرهای پی اچ پی DSO (mod_php) , CGI , suPHP , FastCGI (بخش دوم)

اطلاعیه خودکار این مقاله ؛ این پست در ۹ سال پیش نوشته و منتشر شده است و اکنون شاید قوانین و ابزار ها تغییر پیدا کرده باشد. اگر میدانید این نوشته هنوز به کارتان می آید ،به خواندن ادامه دهید.

suPHP

suphp مخفف تنها کاربر php است. suphp همچنین php را به عنوان ماژول CGI به جای یک ماژول آپاچی اجرا می کند. آن با CGI در اسکریپت PHP که از وب صدا زده شده و تحت کاربری که مالک آنهاست و مخالف “nobody” است اجرا خواهند شد فرق دارد .  suphp به طور معمول هندلر پیش فرض است و توسط سی پنل برای به خدمت گرفته شدن توسط php توصیه می شود به این دلیل که شما قادر خواهید بود که ببینید کدام کاربر مالک حسابی است که توسط اسکریپت php اجرا می شود.
suphp در صورتی که شما از ابزار آپلود فایل در سایتتان از قبیل به روزرسانی های خودکار ، یا نصب کننده تم / پلاگین برای وردپرس استفاده می کنید ،سودمند خواهد بود .فایل ها قبلا مالکیت و مجوزهای صحیح را دارند. آپلود و دیگر توابع وردپرس بدون suphp یا FastCGI کار نخواهند کرد .

suphp همچنین یک مزیت امنیتی را فراهم می کند که هر اسکریپت php که متعلق به کاربر خاصی نیست (مثل حساب دیگر و یا روت)اجرایی نخواهد بود .همچنین ، فایل هایی که پرمیژن های ست شده بر روی world writeable دارند به همین ترتیب غیر اجرایی خواهند بود. این به این معنا است که اگر یک حساب به خطر بیفتد اسکریپت های مخرب قادر نخواهند بود که حساب های دیگر را آلوده کنند.
زیان این موضوع این است که suphp عموما با بار cpu خیلی بالاتر اجرا می شود.در مجموع ،شما نمی توانید از Opcode Cache(مثل Xcache یا APC) با suphp استفاده کنید . به شدت توصیه می شود که یک پلاگین کشینگ را برای تکمیل این نیاز به کار ببرید . اگر شما دریابید که سرور شما هنوز به طور پیوسته با استفاده از cpu درگیر است ، خواسته شما این خواهد بود که به DSO یا FastCGI سوئیچ کنید .

* اگر شما به یکی از گزینه های suphp یا FastCGI سوئیچ کنید ، نیاز خواهید داشت که پرمیژن ها و مالکیت های فایل را به روز رسانی نمایید .

 

FastCGI

(aka: mod_fcgid یا FastCGI  (   FCGI یک تغییر کارایی بالای CGI است.آن مزیت های امنیت و مالکیت suphp را در اسکریپت های php که به عنوان کاربر سی پنل واقعی و مخالف “nobody” اجرا خواهند شد دارد . تفاوتش با FastCGI در این است که آن به شدت می تواند کارایی CPU را ذخیره کرده و سرعتی نزدیک به DSO ارائه دهد . آن همچنین می تواند با یک opcode cacher شبیه eAccelerator و یا APC استفاده شود که می تواند به سرعت بیشتر در بارگذاری صفحات کمک نماید .
زیان این موضوع این است که FastCGI استفاده حافظه بالایی دارد دلیل این است که ایجاد فرایند PHP هر زمان که صدا زده می شود مثل suphp یک نشست پایدار باز را در پس زمینه نگهداری می کند این چیزی است که به آن اجازه می دهد با نرم افزار opcode caching کار کند.
اگر شما مزایای امنیتی / مالکیت suphp را دوست دارید و می توانید از عهده ی یک افزایش عمده در حافظه تان بربیایید (به این معنی که شما قبلا استفاده حافظه متوسط کم را داشته اید)، شما ممکن است که بخواهید استفاده از FastCGI را مد نظر قرار دهید.

نمودار مقایسه

 

FastCGI SuPHP      CGI DSO
1433175576_f-check_256  1433175576_f-check_256          استفاده CPU پایین
1433175576_f-check_256 1433175576_f-check_256 1433175576_f-check_256        مصرف حافظه پایین
1433175576_f-check_256 1433175576_f-check_256 1433175576_f-check_256      فقط  w/ suEXEC اجرای PHP به عنوان مالک      سایت به جای آپاچی
1433175576_f-check_256 1433175576_f-check_256              امنیت خوب

نکته مهم برای کاربران وردپرس

اگر شما از وردپرس برای اجرای سایتتان استفاده مینمایید لطفا موارد زیر را در نظر بگیرید :
• توابعی که نیازمند آپلود فایل ها به سرور (مثل به روزرسانی های خودکار یا نصب کننده تم / پلاگین) دارند به غیر از حالتی که PHP به عنوان ماژول CGI لود شود کار نخواهد کرد . این به این معنی است که آنها فقط با SUPHP یا FASTCGI کار خواهند کرد. این اطمینان خواهد داد آنها با مالکیت ها و پرمیژن های صحیح لود می شوند.
• پلت فرم های CMS از قبیل وردپرس، لود CPU بالایی را به اجرا می گذارند.بنابراین خواهید خواست که یک پلاگین کشینگ مثل سوپر کش WP را نصب کنید مخصوصا اگر در حال اجرای suphp باشید. اگر شما دریابید که سرور شما هنوز به طور مستمر به استفاده از cpu درگیر است ،ممکن است سوئیچ کردن به DSO یا FastCGI را مد نظر قرار دهید.

 

منبع

ترجمه شده توسط : آرزو رنجبرپور

لینک کوتاه مطلب :

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*