DLeX: AI Python
21.7K subscribers
5.14K photos
1.24K videos
765 files
4.59K links
هوش‌مصنوعی و برنامه‌نویسی

توییتر :

https://twitter.com/NaviDDariya

تا آزادی ایران از جمهوری اسلامی تبهکار، تبلیغات نداریم.
Download Telegram
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