Хэдэн өдөр сервэр удаж гацаад вэбүүд рүү орж болохгүй толгой гашилгалаа. Сервэрийн тохиргоог нь уг нь нээх өөрчлөөгүй ийн core config үүдийг. Тэгээд судалж үзсэн чинь apache-г multi threaded болгож болдог энэ нь ачааллах хурдыг нь ихэсгэдэг талаар мэдэж авлаа. Тэгээд сервэрээ шалгаж үзтэл mpm_prefork буюу single thread тэй тохиргоотой байна. Multi thread нь mpm_worker гэж гардаг юм байна. Шалгая гэвэл apache2 -V гээд бичээрэй.
<Directory /var/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options +ExecCGI
</Directory>
Энэ тохиргоо нь apache2 - г php өргөтгөлтэй файл ажиллахад cgi скрипт ашиглана гэдгийг зааж өгнө.
Virtual Host - ийн тохиргоон дээрээ дараах мөрийг нэмнэ.
<Directory /var/www/sampledomain.com>
Options +ExecCGI
</Directory>
Энэ тохиргоо нь энэ домэйн нь FastCGI модуль ашиглахыг зааж өгнө.
Ингээд apache-гээ дахин эхлүүлээд тохиргоо идэвхжинэ.
/etc/init.d/apache2 restart
service apache2 restart
Тохиргоог хийхдээ та рүүт эрхтэй байх ёстойг анхаарна уу.
ubuntu дээр sudo Эсвэл sudo -s
debian дээр su гэсэн коммандаар Рүүт шэллтэй болдог :)
Тэгээд энийг тохируулахад нээх хэцүү биш юм байна. mpm_worker module-г суулгахад болдог юм байна. Суулгахдаа
apt-get install apache2-mpm-worker
ингээд ажлуулахаар хуучин apache2-mpm-prefork модулийг устгаад шинэ модулийг суулгана.
Ингээд сервэрийн ачааллах хурд эрс сайжирч нөлөө эрс мэдэгдэж байлаа.
Тэгтэл сервэр дээр PHP ажлуулах хэрэг гарлаа. Манайх уг нь tomcat ажилладаг сервэр байсын. Тэгтэл хог чинь libapach2-mod-php5 гэсэн модуль mpm-worker модуль-ийг дэмждэггүй юм байна. Суулгахаар л нь энэ модулийг устгаад apache2-mpm-prefork модулийг суулгаад байна. Өмнө нь зүгээр байж байгаад сервэр удаад байсан шалтгаан нь энэ байж таарлаа. PHP тохируулах гэж мунгинаж байгаад энэ тохиргоог нь аваад хаясан байж.
Тэгээд PHP-г энэ модультай ажлуулах гэж судлаад PHP5-CGI гэсэн модулиар PHP-г CGI ашиглан mpm-worker той ажлуулж болдог юм байна. Тохируулахад бас маш амархан энгийн:
Дараах модулиудыг эхлээд суулгах шаардлагатай: FastCGI - ийн
apt-get isntall libapache2-mod-fcgid php5-cgi php5-cli
Apache дээрээ FASTCGI модулийг идэвхжүүлнэ.
a2enmod fcgid
/etc/apache2/apache2.conf - д дараах мөрүүдийг нэмж өгнө.
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options +ExecCGI
</Directory>
Энэ тохиргоо нь apache2 - г php өргөтгөлтэй файл ажиллахад cgi скрипт ашиглана гэдгийг зааж өгнө.
Virtual Host - ийн тохиргоон дээрээ дараах мөрийг нэмнэ.
<Directory /var/www/sampledomain.com>
Options +ExecCGI
</Directory>
Энэ тохиргоо нь энэ домэйн нь FastCGI модуль ашиглахыг зааж өгнө.
Ингээд apache-гээ дахин эхлүүлээд тохиргоо идэвхжинэ.
/etc/init.d/apache2 restart
service apache2 restart
Тохиргоог хийхдээ та рүүт эрхтэй байх ёстойг анхаарна уу.
ubuntu дээр sudo Эсвэл sudo -s
debian дээр su гэсэн коммандаар Рүүт шэллтэй болдог :)

0 comments:
Post a Comment