تغییر mpm آپاچی به mpm worker در دایرکت ادمین
تغییر mpm آپاچی به mpm worker در دایرکت ادمین :
از دیگر مشکلات سرور مجازی های وابسته به دایرکت ادمین، مصرف بالای رم سرور توسط وب سرور آپاچی میباشد
شما در مقاله زیر علت دقیق و بروز این مشکل را در نتیجه مصرف Ram در سرور مجازی لینوکس خواهید خواند.
و اما معماری مدل پردازشی MPM Prefork در وب سرور آپاچی ، یکی از مهم ترین دلیل بروز افزایش بی رویه تعداد pid های
وب سرور آپاچی در دایرکت ادمین و در نتیجه مصرف رم و حافظه سرور در هنگام وجود کانکشن های بطور هم زمان ،
یوزر های آنلاین زیاد و به طور کلی concurrency در سرور لینوکس می باشد .
یکی از روش های ساده برای حل مشکل میتوانید مدل پردازش Prefork را به MPM Worker تغییر دهید.
با این مدل پردازش سریع و کم مصرف میتوانید منابع سرور مجازی خود را آزاد کنید.
پس برای انجام موارد بالا مقاله زیر را با دقت بخوانید.
بسیار خب برای تغییر دادن MPM Prefork به MPM Worker در دایرکت ادمین باید CB 1.X و آپاچی نسخه 2.2 حتما
باید اجرا کننده و handler نسخه php را از cli به cgi تغییر دهید و suPHP را در سرور مجازی فعال کنید.
بعد از آن که php و apache را کامپایل کردید موارد زیر را با دقت عمل کرده و دستورات زیر را وارد کنید :
[su_code]
cd /usr/local/directadmin/custombuild
./build clean
./build update
mkdir -p custom/ap/
cp -fp configure/ap2/configure.apache custom/ap2/
[/su_code]
اکنون فایل custom/ap2/configure.apache را تغییر داده و مقدار “–with-mpm=worker” را در انتهای آن وارد میکنیم :
[su_code]
vi custom/ap2/configure.apache
“–with-mpm=worker” \
[/su_code]
سپس بعد از ذخیره فایل فوق با اجرای دستورات زیر php و apache را از اول build میکنیم :
[su_code]
cd /usr/local/directadmin/custombuild
./build apache
./build php n
[/su_code]
بعد از آن که مراحل بالا را با موفقیت به پایان رساندید وب سرور مجازی خود را ریستارت کرده و
مشخصات MPM وب سرور را بررسی کنید :
[su_code]
service httpd restart
httpd -V
[/su_code]
و خروجی که دریافت میکنید همانند دستور زیر میباشد :
[su_code]
Architecture: 64-bit
Server MPM: worker
[/su_code]
و اما در صورتی که میخواهید تغییران در فایل کانفیگ شده MPM مرتبط به وب سرور آپاچی را ذخیره کنید،
فایل زیر را با دستور زیر ویرایش دهید :
[su_code]
vi /etc/httpd/conf/extra/httpd-mpm.conf
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 0
[/su_code]
سپس بعد از آن که تغییرات وب سرور آپاچی اعمال کردید را دوباره راه اندازی کنید.
اگر تعداد کانکشن های متصل شده به سرور مجازی شما زیاد باشد در مرحله اول تمامی Proccess ها را kill کرده و دوباره
وب سرور را با استفاده از دستور زیر Start کنید :
[su_code]
killall httpd
service httpd start
[/su_code]