DLeX: AI Python

#SetHandler
Канал
Логотип телеграм канала DLeX: AI Python
@ai_pythonПродвигать
23,86 тыс.
подписчиков
4,72 тыс.
фото
1,21 тыс.
видео
3,94 тыс.
ссылок
هوش‌مصنوعی و برنامه‌نویسی ارتباط : https://twitter.com/NaviDDariya
How to Configure Apache and PHP for High Traffic Websites on Linux Server

فرض کنید یک سرور دارید یک پست از وبسایت شما در جایی قرار میگیرد و هزاران بازدید کننده به سایت شما رجوع میکند در بهترین حالت اگر سایت شما با apache , php باشد سی یا شصت ثانیه طول میکشد تا وب سایت شما لود شود و دارای lag میباشد و در بدترین حالت وب سایت شما قادر به ارائه خدمات نمی باشد ولی با mpm_event این حجم از بازدید کننده را apache راحتتر میتواند کنترل و مدیریت کند

برای استفاده از Apache MPM در توزیع های دبیان بیس اول از همه از نصب پکیج libapache2-mod-php خودداری فرمایید زیر با نصب این پکیج به صورت پیشفرض mpm_prefork فعال میشود که مشکل بالا را به خوبی نمیتواند رفع کند پس به ترتیب به روش زیر عمل کنید:
apt update && apt install apache2
وقتی apache را نصب کردی با دستور زیر مشاهده میکنید که mpm event به صورت پیشفرض فعال است:
apachectl -V
سپس php را با دستور زیر فعال میکنیم:
apt install php-fpm
سپس پروتکل FastCGI را فعال میکنیم:
a2enmod proxy_fcgi
بعد کانفیگ پیشفرض php-fpm را فعال میکنیم:
a2enconf php7.0-fpm
و سپس apache را ریستارت میکنیم:
systemctl restart apache2
برای استفاده از دیتابیس سرور و mysql کامند زیر را وارد میکنیم:
apt install mariadb-server php-mysql


برای استفاده از Apache MPM در توزیع های ردهت بیس به روش زیر عمل میکنیم
ابتدا apache را نصب میکنیم:
yum install httpd
سپس با کامند زیر مشاهده میکنیم که به صورت پیشفرض mpm prefork فعال است:
apachectl -V
خب سپس با ستور زیر یک # در پشت ماژول mpm prefork قرار میدهیم و آن را غیر فعال میکنیم:
sed -i '/mpm_prefork\.so$/s/^/#/' /etc/httpd/conf.modules.d/00-mpm.conf
و سپس # پشت ماژول mpm event را برمیداریم:
sed -i '/mpm_event\.so$/s/^#//' /etc/httpd/conf.modules.d/00-mpm.conf
سپس با کامند زیر باید مشاهده کنید که event فعال شده است :
apachectl -V
سپس php-fpm و ماژول FastGCI را نصب میکنیم:
yum install php-fpm mod_fcgid
برای اینکه به apache در مورد چگونگی پردازش فایل های php کانفیگ کنیم تمام موارد زیر را در یک ترمینال کپی کنید و سپس اینتر را بزنید:
cat <<PASTE > /etc/httpd/conf.d/php.conf
# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
# Enable http authorization headers
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)"
HTTP_AUTHORIZATION=$1
</IfModule>

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
#SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
Require all denied
</FilesMatch>
</IfModule>
</IfModule>
PASTE

که در دستورات بالا در قسمت sethandler میتوانید پروکسی مورد نظر خود را بگذارید

سپس apache را ریستارت کنید:
systemctl restart httpd.service
و سپس php-fpm را استارت کنید:
systemctl start php-fpm.service
systemctl enable php-fpm.service

#برنامه_نویسی #آموزش #لینوکس

❇️ @AI_Python