بر اساس گزارش اخیر Netcraft آپاچی همچنان به عنوان وب سرور به طور گسترده در میان سایت ها و رایانه های اینترنتی استفاده میشود. (Netcraft یکی از شرکت های شناخته شده اینترنت است که در میان خدمات دیگر آمار استفاده از مرورگرهای وب را ارائه میدهد)
علاوه براین، Apache بیشترین رشد در میان وب سرورها را تجربه میکند، که به دنبال آن Nginx و IIS میباشد. بنابراین، اگر شما مدیر سیستم و مسئول نصب آپاچی میباشید، شما باید بدانید که چگونه مطمئن شوید که وب سرور شما به بهترین وجه و با توجه به نیازهای شما (یا مشتری شما) ایجاد میشود.
در این مقاله ما تعدادی از نکات را ارائه خواهیم کرد که به شما کمک میکند، اطمینان حاصل کنید که Apache به طور هماهنگ عمل میکند و قادر به پردازش درخواست های مورد انتظار از مشتریان راه دور است.
ترفند 1 : همیشه Apache را به آخرین ورژن آن آپدیت کنید
نصب آخرین ورژن آپاچی یکی از مهم ترین مواردیست که شما باید بررسی کنید. در تاریخ 19 نوامبر 2015 آخرین ورژن موجود آپاچی در ریپازیتوری های CentOS ورژن 2.4.6 است در حالیکه در Debian آخرین ورژن 2.4.10 میباشد.
به هر حال ممکن است یک ورژن جدیدتر و یا یک patch رفع باگ به آخرین ورژن استیبل ریلیز شده موجود باشد که از طریق دانلود و نصب از سورس قابل دسترسی میباشند. همچنین دستورالعمل نصب نیز در اینجا برای شما فراهم آمده است. فقط فراموش نکنید که اگر شما این روش را برای آپدیت انتخاب میکنید از فایل های کانفیگ موجود خود/ سایت ها و ویرچوال هاست ها به خاطر احتیاط بک آپ بگیرید.
روی هر توزیعی همانند زیر میتوانید ورژن موجود نصب شده روی سیستم تان را بررسی کنید.
برای آپدیت کردن با توجه به توزیع انتخابی شما و package manager مربوط به آن توزیع، روش آپدیت را انتخاب کنید. (yum update httpd یا aptitude safe-upgrade apache2 برای CentOS یا Debian). شما میتوانید موارد مربوط به آخرین ورژن ها را در بخش داکیومنت های Apache در وب سایت پروژه Apache HTTP Server مطالعه کنید.
ترفند 2 : اگر شما از یک کرنل قدیمی تر از 2.4 استفاده میکنید اکنون آنرا Ugrade کنید
چرا؟ کرنل ورژن 2.4 و بالاتر به صورت پیش فرض sendfile kernel system call را روی خود فعال دارند. که انتقال فایل از بستر شبکه با عملکرد بالا را فراهم میسازد (و به منظور ارتباطات سرور-کلاینتی وب طراحی شنده اند) و آپاچی را قادر به تحویل سریع تر محتوای استاتیک و با مصرف پایین تر CPU به واسطه اجرای عملیات send و read همزمان، میسازد.
شما میتوانید ورژن کرنل نصب شده موجود را با دستور زیر مشاهده بفرمایید.
و آن را با آخرین کرنل Stable در سایت www.kernel.org مقایسه کنید. (در حال حاضر آخرین ورژن 4.13 میباشد.)
اگر چه این روش به مبتدیان پیشنهاد نمیشود اما آپگرید کردن کرنل میتواند یک تمرین جالب برای یادگیری بیشتر درباره هسته لینوکس باشد.
ترفند 3 : Module Multi-Processing یا MPM را انتخاب کنید که برای شما به بهترین گونه کار میکند.
عملا MPM ها قابلیت های ماژولار آپاچی را با موارد زیر گسترش میدهند : فراهم آوردن انتخاب نحوه کانفیگ وب سرورتان برای Bind کردن به پورت های شبکه روی ماشین، قبول درخواست ها از کلاینت ها و استفاده از پروسس های زیر شاخه (Child's) و برای کنترل کردن این چنین درخواست هایی.
در ورژن 2.4 آپاچی سه MPM متفاوت را به شما با توجه به نیازهایتان ارائه میدهد تا از بین آنها یکی را انتخاب کنید.
برای بررسی MPM مورد استفاده در آپاچی سرورتان دستور زیر را استفاده کنید.
تصویر زیر نمایش میدهد که وب سرور من از ماژول prefork استفاده میکند.
برای تغییر ماژول سرورتان، شما باید یکی از فایل های زیر را بنابر توزیعی که دارید، ویرایش کنید.
برای فعال کردن یا غیرفعال کردن ماژول ها در CentOS شما نیاز دارید، خطی که با LoadModule آغاز میشود را کامنت کنید و خطی که ماژول مورد نظر شما میباشد را همانند زیر از کامنت خارج کنید.
نکته : برای فعال کردن ماژول event در دبیان شما باید پکیج libapache2-mod-fastcgi از ریپازیتوری های غیر رایگان دانلود و نصب کنید.
علاوه بر این برای CentOS شما نیاز به PHP-FPM (به همراه fcgi و mod_fcgid) خواهید داشت که در دبیان php5-fpm (به همراه apache2-mpm-event) نامیده میشود.
همچنین توصیه میشود مطالعه کنید.
آموزش نصب PHP-FPM/PHP - Nginx و دیتابیس MariaDB در CentOS 7
در پایان وب سرور و سرویس php-fpm (یا php5-fpm) را همانند زیر restart کنید.
روی RedHat/CentOS
روی Debian/Ubuntu
اگر چه شما میتوانید آپاچی را برای استفاده از یک ماژول خاصی تنظیم کنید، این تنظیمات میتواند بر اساس هر ویرچوال هاستی (که در آموزش های قبلی به آن اشاره شد) لغو کرد.
فقط کافیست که تگ های مربوطه را در فایل کانفیگ هر virtual host قرار دهید اما مطمئن شوید که تنها از یک MPM به ازای هر ویرچوال هاستی، استفاده میکنید.
در نهایت لطفا دقت کنید که با توجه به توزیع لینوکسی شما، php-fpm براساس FastCGI کار میکند که به همین دلیل است که من نصب پکیج های اضافی را قبلتر به شما پیشنهاد کردم.
برای جزئیات و مثالهای بیشتر روی php-fpm و اینکه چگونه میتواند به همراه ماژول event عملکرد آپاچی را افزایش دهد، به داکیومنت های رسمی آن مراجعه کنید.
بعد از تغییر MPM پیش فرض از prefork به event چیزی شبیه به تصویر زیر را مشاهده خواهید کرد.
در CentOS 7 شما باید از فعال بودن سرویس های HTTP و HTTPS در فایروال مطمئن شوید و همچنین اینکه اینترفیس های شبکه نیز به درستی به Default Zone در فایروال اضافه شده باشند.
برای مثال :
دلیل اینکه من مورد بالا را مطرح کردم این است که اخیرا یک مشکلی را با تنظیمات پیش فرض firewalld در یک Cloud VPS با php-fpm و apache و برای پروسس فایل های php تجربه کردم.
به عنوان یک تست ابتدایی (که شما مطمئنا میتوانید تست های پیچیده تری را داشته باشید) من یک فایل php با نام servercheck.php ایجاد کردم که فایل دیگری به نام test.php را در همان دایرکتوری بررسی میکند، که در دو سرور CentOS 7 با سخت افزارهای یکسان اما با MPM متفاوت استفاده کردم. یکی از آنها از ماژول event و دیگری از ماژول prefork استفاده میکند.
در زیر کدی که من در فایل servercheck.php ذخیره کردم را مشاهده میکنید.
سپس ما دستور ab (یکی از ابزارهای تست و محک آپاچی) را با 200 درخواست همزمان (تا تکمیل 2000 درخواست) اجرا خواهیم کرد.
اکنون تست را اجرا و نتایج را با هم مقایسه میکنیم. به آمارهای عملکرد هر یک از ماژول ها دقت کنید.
همانطور که مشاهده میکنید عملکرد سروری که ماژول event روی آن است در سطح بسیار بالای نسبت به سرور دیگر که prefork روی آن است در هر جنبه ای از این تست بالاتر است.
ترفند 4 : اختصاص دادن هوشمندانه RAM برای Apache
بیشترین آیتم حیاتی سخت افزار که باید در نظر گرفته شود میزان مموری ایست که برای هر پروسس آپاچی باید اختصاص داده شود. اگر چه شما نمیتوانید این مورد را به صورت مستقیم کنترل کنید اما میتوانید تعداد Process های child را از طریق بخش MaxRequestWorkers (قبلا در apache 2.2 به عنوان MaxClients شناخته میشد) محدود کنید، که روی میزان مصرف RAM توسط Apache محدودیت قرار خواهد داد. مجددا شما میتوانید این مقدار را روی هر هاست/ویرچوال هاست مجزا تعریف کنید.
برای انجام آن شما باید به میانگین میزان مموری مورد استفاده توسط آپاچی دقت کنید سپس آنرا با عدد MaxRequestWorkers ضرب کنید که عدد به دست آمده میزان مموری هست که به پروسس های آپاچی اختصاص داده خواهد شد. موردی که هرگز شما نمیخواهید وب سرورتان انجام دهد استفاده از swap است که به صورت چشم گیری کارایی آنرا کاهش میدهد، بنابراین شما همیشه باید میزان استفاده آپاچی از مموری که میتوانید فراهم آورید را محدود کنید و هرگز به swap تکیه نکنید.
برای مثال بلاک زیر تعداد کلاینت های همزمان را به 30 عدد محدود خواهد کرد اگر کلاینت های بیشتری از هاست استفاده کنند آنها تاخیر و یا وقفه موقتی را تجربه خواهند کرد که میتوان به سادگی با رفرش کردن مرورگر آنرا رفع کرد. اگر چه ممکن است این مورد دلخواهی نباشد اما برای سرور سالم تر و مطمئن تر است و برای اجرای بلند مدت برای سایت شما بهترین است.
شما میتوانید این بلاک را درون فایل /etc/httpd/conf/httpd.conf یا /etc/apache2/apache2.conf با توجه به اینکه از CentOS یا Debian استفاده میکنید قرار دهید.
لطفا توجه کنید که قانون یکسانی به تمام MPM ها اعمال میشود، من در اینجا به منظور ادامه مفهوم مشخص شده در ترفند قبلی از ماژول event استفاده میکنم.
در هر شرایطی شدیدا توصیه میشود که برای مشاهده قسمت های تنظیمات (directives) که برای MPM انتخابی شما مجاز است به داکیومنت های Apache 2.4 مراجعه کنید.
ترفند 5 : اطلاع از Application هایتان
به عنوان یک قانون شما نباید هر گونه ماژول آپاچی را که مورد نیاز نیست را load کنید. شما باید دانش کاملی روی اپلیکیشن هایی که روی سرورتان در حال اجرا هستند داشته باشید. خصوصا اگر شما ادمین سیستم هستید و تیم دیگری به منظور امور برنامه نویسی در کنار شما کار میکند.
شما میتوانید ماژول های لود شده موجود را با استفاده از دستورات زیر لیست کنید.
برای unload/disable کردن ماژول ها در CentOS شما نیاز دارید، خطی که با LoadModule آغاز میشود را کامنت کنید. (همچنین در فایل کانفیگ اصلی و یا فایل های کانفیگ جانبی مثلا درون /etc/httpd/conf.modules.d کامنت کنید.)
از طرف دیگر Debian ابزاری به نام a2dismod برای disable کردن ماژول ها فراهم آورده، که به صورت زیر استفاده میشود.
برای اینکه آنرا مجدد فعال کنید :
همچنین برای اعمال تغییرات فراموش نکنید که آپاچی را restart کنید.
توصیه میشود مطالعه کنید.
آموزش نصب Apache, PHP/PhpMyAdmin, MySQL/MariaDB در CentOS 7
خلاصه :
در این مقاله ما 5 ترفند را که به شما کمک میکند تا وب سرور Apache را تنظیم و عملکرد آنرا افزایش دهید، آموزش دادیم. بعلاوه شما باید به خاطر داشته باشید که بهینه سازی و بالابردن کارایی بدون تمهیدات امنیتی بی فایده است در نتیجه پیشنهاد میشود 2 پست زیر را در جهت افزایش امنیت مطالعه فرمایید.
نصب Mod_Pagespeed برای بالا بردن سرعت عملکرد Apache و Nginx تا 10 برابر
مقاله آموزشی 13 ترفند برای برقراری امنیت در Apache
از آنجایی که ما نمیتوانیم تمام جنبه های این موضوع را در این پست پوشش دهیم ممکن است شما بتوانید ایده های دیگری را روی این عنوان با ما به اشتراک بگذارید.
علاوه براین، Apache بیشترین رشد در میان وب سرورها را تجربه میکند، که به دنبال آن Nginx و IIS میباشد. بنابراین، اگر شما مدیر سیستم و مسئول نصب آپاچی میباشید، شما باید بدانید که چگونه مطمئن شوید که وب سرور شما به بهترین وجه و با توجه به نیازهای شما (یا مشتری شما) ایجاد میشود.
در این مقاله ما تعدادی از نکات را ارائه خواهیم کرد که به شما کمک میکند، اطمینان حاصل کنید که Apache به طور هماهنگ عمل میکند و قادر به پردازش درخواست های مورد انتظار از مشتریان راه دور است.
ترفند 1 : همیشه Apache را به آخرین ورژن آن آپدیت کنید
نصب آخرین ورژن آپاچی یکی از مهم ترین مواردیست که شما باید بررسی کنید. در تاریخ 19 نوامبر 2015 آخرین ورژن موجود آپاچی در ریپازیتوری های CentOS ورژن 2.4.6 است در حالیکه در Debian آخرین ورژن 2.4.10 میباشد.
به هر حال ممکن است یک ورژن جدیدتر و یا یک patch رفع باگ به آخرین ورژن استیبل ریلیز شده موجود باشد که از طریق دانلود و نصب از سورس قابل دسترسی میباشند. همچنین دستورالعمل نصب نیز در اینجا برای شما فراهم آمده است. فقط فراموش نکنید که اگر شما این روش را برای آپدیت انتخاب میکنید از فایل های کانفیگ موجود خود/ سایت ها و ویرچوال هاست ها به خاطر احتیاط بک آپ بگیرید.
روی هر توزیعی همانند زیر میتوانید ورژن موجود نصب شده روی سیستم تان را بررسی کنید.
کد PHP:
# httpd -v [On RedHat/CentOS based systems]
# apache2 –v [On Debian/Ubuntu based systems]
برای آپدیت کردن با توجه به توزیع انتخابی شما و package manager مربوط به آن توزیع، روش آپدیت را انتخاب کنید. (yum update httpd یا aptitude safe-upgrade apache2 برای CentOS یا Debian). شما میتوانید موارد مربوط به آخرین ورژن ها را در بخش داکیومنت های Apache در وب سایت پروژه Apache HTTP Server مطالعه کنید.
ترفند 2 : اگر شما از یک کرنل قدیمی تر از 2.4 استفاده میکنید اکنون آنرا Ugrade کنید
چرا؟ کرنل ورژن 2.4 و بالاتر به صورت پیش فرض sendfile kernel system call را روی خود فعال دارند. که انتقال فایل از بستر شبکه با عملکرد بالا را فراهم میسازد (و به منظور ارتباطات سرور-کلاینتی وب طراحی شنده اند) و آپاچی را قادر به تحویل سریع تر محتوای استاتیک و با مصرف پایین تر CPU به واسطه اجرای عملیات send و read همزمان، میسازد.
شما میتوانید ورژن کرنل نصب شده موجود را با دستور زیر مشاهده بفرمایید.
کد PHP:
# uname -r
اگر چه این روش به مبتدیان پیشنهاد نمیشود اما آپگرید کردن کرنل میتواند یک تمرین جالب برای یادگیری بیشتر درباره هسته لینوکس باشد.
ترفند 3 : Module Multi-Processing یا MPM را انتخاب کنید که برای شما به بهترین گونه کار میکند.
عملا MPM ها قابلیت های ماژولار آپاچی را با موارد زیر گسترش میدهند : فراهم آوردن انتخاب نحوه کانفیگ وب سرورتان برای Bind کردن به پورت های شبکه روی ماشین، قبول درخواست ها از کلاینت ها و استفاده از پروسس های زیر شاخه (Child's) و برای کنترل کردن این چنین درخواست هایی.
در ورژن 2.4 آپاچی سه MPM متفاوت را به شما با توجه به نیازهایتان ارائه میدهد تا از بین آنها یکی را انتخاب کنید.
- ماژول prefork که از چندین پروسس child بدون thread کردن استفاده میکند. هر پروسس یک ارتباط را در یک لحظه بدون ایجاد thread های مجزا برای هر کدام، کنترل میکند. بدون توضیح جزئییات بیشتر میتوانیم بگوییم که شما ممکن است بخواهید از این ماژول تنها برای دیباگ کردن اپلیکیشنی که دارید استفاده کنید، یا زمانیکه اپلیکیشن شما نیاز دارد با ماژول های non-thread-safe مانند mod_php کار کند.
- ماژول worker از چندین thread به ازای پروسس های child استفاده میکند که هر thread یک ارتباط را در یک لحظه کنترل میکند این مورد برای سایت های با ترافیک بالا انتخاب خوبی است با توجه به اینکه ارتباط های همزمان بیشتری را با مصرف پایین ram (نسبت به مورد قبلی) کنترل میکند.
- و در نهایت ماژول event که ماژول پیشفرض در اکثر ورژن های موجود آپاچی (2.4 و بالاتر) میباشد. این ماژول شبیه به ماژول worker است با توجه به اینکه این ماژول هم چندین thread را به ازای پروسس child ایجاد میکند، اما با یک تفاوت : این ماژول باعث میشود ارتباطات KeepAlive یا Idle (زمانیکه در آن وضعیت باقی میمانند) توسط یک thread مجزا کنترل شوند. بنابراین خالی کردن مموری باعث اختصاص دادن آن به thread های دیگر میشود. این ماژول برای استفاده با ماژول های non-thread-safe مانند mod_php مناسب نیست، به این دلیل که جایگزینی همانند php-fpm باید استفاده شود.
برای بررسی MPM مورد استفاده در آپاچی سرورتان دستور زیر را استفاده کنید.
کد PHP:
# httpd -V
برای تغییر ماژول سرورتان، شما باید یکی از فایل های زیر را بنابر توزیعی که دارید، ویرایش کنید.
کد PHP:
# /etc/httpd/conf.modules.d/00-mpm.conf [On RedHat/CentOS based systems]
# /etc/apache2/mods-available/<mpm>.load [On Debian/Ubuntu based systems]
کد PHP:
LoadModule mpm_event_module modules/mod_mpm_event.so
نکته : برای فعال کردن ماژول event در دبیان شما باید پکیج libapache2-mod-fastcgi از ریپازیتوری های غیر رایگان دانلود و نصب کنید.
علاوه بر این برای CentOS شما نیاز به PHP-FPM (به همراه fcgi و mod_fcgid) خواهید داشت که در دبیان php5-fpm (به همراه apache2-mpm-event) نامیده میشود.
همچنین توصیه میشود مطالعه کنید.
آموزش نصب PHP-FPM/PHP - Nginx و دیتابیس MariaDB در CentOS 7
در پایان وب سرور و سرویس php-fpm (یا php5-fpm) را همانند زیر restart کنید.
روی RedHat/CentOS
کد PHP:
# systemctl restart httpd php-fpm && systemctl enable httpd php-fpm
روی Debian/Ubuntu
کد PHP:
# systemctl restart apache2 php5-fpm && systemctl enable apache2 php5-fpm
فقط کافیست که تگ های مربوطه را در فایل کانفیگ هر virtual host قرار دهید اما مطمئن شوید که تنها از یک MPM به ازای هر ویرچوال هاستی، استفاده میکنید.
در نهایت لطفا دقت کنید که با توجه به توزیع لینوکسی شما، php-fpm براساس FastCGI کار میکند که به همین دلیل است که من نصب پکیج های اضافی را قبلتر به شما پیشنهاد کردم.
برای جزئیات و مثالهای بیشتر روی php-fpm و اینکه چگونه میتواند به همراه ماژول event عملکرد آپاچی را افزایش دهد، به داکیومنت های رسمی آن مراجعه کنید.
بعد از تغییر MPM پیش فرض از prefork به event چیزی شبیه به تصویر زیر را مشاهده خواهید کرد.
در CentOS 7 شما باید از فعال بودن سرویس های HTTP و HTTPS در فایروال مطمئن شوید و همچنین اینکه اینترفیس های شبکه نیز به درستی به Default Zone در فایروال اضافه شده باشند.
برای مثال :
کد PHP:
# firewall-cmd --zone=internal --add-interface=tun6to4
# firewall-cmd --zone=internal --add-interface=tun6to4 --permanent
# firewall-cmd --set-default-zone=internal
# firewall-cmd --add-service=http
# firewall-cmd --add-service=https
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload
به عنوان یک تست ابتدایی (که شما مطمئنا میتوانید تست های پیچیده تری را داشته باشید) من یک فایل php با نام servercheck.php ایجاد کردم که فایل دیگری به نام test.php را در همان دایرکتوری بررسی میکند، که در دو سرور CentOS 7 با سخت افزارهای یکسان اما با MPM متفاوت استفاده کردم. یکی از آنها از ماژول event و دیگری از ماژول prefork استفاده میکند.
در زیر کدی که من در فایل servercheck.php ذخیره کردم را مشاهده میکنید.
کد PHP:
<?php
$filename = 'test.php';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
سپس ما دستور ab (یکی از ابزارهای تست و محک آپاچی) را با 200 درخواست همزمان (تا تکمیل 2000 درخواست) اجرا خواهیم کرد.
کد PHP:
# ab -k -c 100 -n 2000 localhost/servercheck.php
همانطور که مشاهده میکنید عملکرد سروری که ماژول event روی آن است در سطح بسیار بالای نسبت به سرور دیگر که prefork روی آن است در هر جنبه ای از این تست بالاتر است.
ترفند 4 : اختصاص دادن هوشمندانه RAM برای Apache
بیشترین آیتم حیاتی سخت افزار که باید در نظر گرفته شود میزان مموری ایست که برای هر پروسس آپاچی باید اختصاص داده شود. اگر چه شما نمیتوانید این مورد را به صورت مستقیم کنترل کنید اما میتوانید تعداد Process های child را از طریق بخش MaxRequestWorkers (قبلا در apache 2.2 به عنوان MaxClients شناخته میشد) محدود کنید، که روی میزان مصرف RAM توسط Apache محدودیت قرار خواهد داد. مجددا شما میتوانید این مقدار را روی هر هاست/ویرچوال هاست مجزا تعریف کنید.
برای انجام آن شما باید به میانگین میزان مموری مورد استفاده توسط آپاچی دقت کنید سپس آنرا با عدد MaxRequestWorkers ضرب کنید که عدد به دست آمده میزان مموری هست که به پروسس های آپاچی اختصاص داده خواهد شد. موردی که هرگز شما نمیخواهید وب سرورتان انجام دهد استفاده از swap است که به صورت چشم گیری کارایی آنرا کاهش میدهد، بنابراین شما همیشه باید میزان استفاده آپاچی از مموری که میتوانید فراهم آورید را محدود کنید و هرگز به swap تکیه نکنید.
برای مثال بلاک زیر تعداد کلاینت های همزمان را به 30 عدد محدود خواهد کرد اگر کلاینت های بیشتری از هاست استفاده کنند آنها تاخیر و یا وقفه موقتی را تجربه خواهند کرد که میتوان به سادگی با رفرش کردن مرورگر آنرا رفع کرد. اگر چه ممکن است این مورد دلخواهی نباشد اما برای سرور سالم تر و مطمئن تر است و برای اجرای بلند مدت برای سایت شما بهترین است.
شما میتوانید این بلاک را درون فایل /etc/httpd/conf/httpd.conf یا /etc/apache2/apache2.conf با توجه به اینکه از CentOS یا Debian استفاده میکنید قرار دهید.
لطفا توجه کنید که قانون یکسانی به تمام MPM ها اعمال میشود، من در اینجا به منظور ادامه مفهوم مشخص شده در ترفند قبلی از ماژول event استفاده میکنم.
کد PHP:
<IfModule mpm_event_module>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 30
MaxConnectionsPerChild 1000
</IfModule>
ترفند 5 : اطلاع از Application هایتان
به عنوان یک قانون شما نباید هر گونه ماژول آپاچی را که مورد نیاز نیست را load کنید. شما باید دانش کاملی روی اپلیکیشن هایی که روی سرورتان در حال اجرا هستند داشته باشید. خصوصا اگر شما ادمین سیستم هستید و تیم دیگری به منظور امور برنامه نویسی در کنار شما کار میکند.
شما میتوانید ماژول های لود شده موجود را با استفاده از دستورات زیر لیست کنید.
کد PHP:
# httpd -M [On RedHat/CentOS based systems]
# apache2ctl -M [On Debian/Ubuntu based systems]
از طرف دیگر Debian ابزاری به نام a2dismod برای disable کردن ماژول ها فراهم آورده، که به صورت زیر استفاده میشود.
کد PHP:
# a2dismod module_name
کد PHP:
# a2enmod module_name
توصیه میشود مطالعه کنید.
آموزش نصب Apache, PHP/PhpMyAdmin, MySQL/MariaDB در CentOS 7
خلاصه :
در این مقاله ما 5 ترفند را که به شما کمک میکند تا وب سرور Apache را تنظیم و عملکرد آنرا افزایش دهید، آموزش دادیم. بعلاوه شما باید به خاطر داشته باشید که بهینه سازی و بالابردن کارایی بدون تمهیدات امنیتی بی فایده است در نتیجه پیشنهاد میشود 2 پست زیر را در جهت افزایش امنیت مطالعه فرمایید.
نصب Mod_Pagespeed برای بالا بردن سرعت عملکرد Apache و Nginx تا 10 برابر
مقاله آموزشی 13 ترفند برای برقراری امنیت در Apache
از آنجایی که ما نمیتوانیم تمام جنبه های این موضوع را در این پست پوشش دهیم ممکن است شما بتوانید ایده های دیگری را روی این عنوان با ما به اشتراک بگذارید.