Miklix

એનજીઆઇએનએક્સમાં અલગ પીએચપી-એફપીએમ પૂલ કેવી રીતે સેટ કરવા

પ્રકાશિત: 15 ફેબ્રુઆરી, 2025 એ 11:55:30 AM UTC વાગ્યે
છેલ્લે અપડેટ કરેલ: 12 જાન્યુઆરી, 2026 એ 08:30:21 AM UTC વાગ્યે

આ લેખમાં, હું બહુવિધ PHP-FPM પૂલ ચલાવવા અને NGINX ને FastCGI દ્વારા તેમની સાથે કનેક્ટ કરવા માટે જરૂરી ગોઠવણી પગલાંઓ પર ચર્ચા કરીશ, જે વર્ચ્યુઅલ હોસ્ટ્સ વચ્ચે પ્રક્રિયા અલગ કરવા અને અલગ કરવા માટે પરવાનગી આપે છે.


આ પૃષ્ઠ શક્ય તેટલા વધુ લોકો સુધી સુલભ બને તે માટે અંગ્રેજીમાંથી મશીન અનુવાદ કરવામાં આવ્યો હતો. કમનસીબે, મશીન અનુવાદ હજુ સુધી સંપૂર્ણ તકનીક નથી, તેથી ભૂલો થઈ શકે છે. જો તમે ઇચ્છો, તો તમે મૂળ અંગ્રેજી સંસ્કરણ અહીં જોઈ શકો છો:

How to Set Up Separate PHP-FPM Pools in NGINX

આ પોસ્ટમાંની માહિતી ઉબુન્ટુ સર્વર 14.04 x64 પર ચાલતા NGINX 1.4.6 અને PHP-FPM 5.5.9 પર આધારિત છે. તે અન્ય સંસ્કરણો માટે માન્ય હોઈ શકે છે અથવા ન પણ હોઈ શકે. (અપડેટ: હું પુષ્ટિ કરી શકું છું કે ઉબુન્ટુ સર્વર 24.04, PHP-FPM 8.3 અને NGINX 1.24.0 મુજબ, આ પોસ્ટમાંની બધી સૂચનાઓ હજુ પણ કાર્ય કરે છે)

એક જ પૂલમાં બધું ચલાવવાને બદલે બહુવિધ PHP-FPM ચાઇલ્ડ પ્રોસેસ પૂલ સેટ કરવાના ઘણા ફાયદા છે. સુરક્ષા, અલગતા/અલગતા અને સંસાધન વ્યવસ્થાપન જેવા મુખ્ય ફાયદા ધ્યાનમાં આવે છે.

તમારી પ્રેરણા ગમે તે હોય, આ પોસ્ટ તમને તે કરવામાં મદદ કરશે :-)

ભાગ ૧ – એક નવો PHP-FPM પૂલ સેટ કરો

સૌપ્રથમ, તમારે તે ડિરેક્ટરી શોધવાની જરૂર છે જ્યાં PHP-FPM તેના પૂલ રૂપરેખાંકનો સંગ્રહ કરે છે. ઉબુન્ટુ 14.04 પર, આ ડિફોલ્ટ રૂપે /etc/php5/fpm/pool.d છે. ત્યાં કદાચ પહેલાથી જ www.conf નામની ફાઇલ છે, જે ડિફોલ્ટ પૂલ માટે રૂપરેખાંકન ધરાવે છે. જો તમે તે ફાઇલ પહેલાં જોઈ ન હોય તો શક્યતા છે કે તમારે તેને તપાસવી જોઈએ અને તમારા સેટઅપ માટે તેમાં સેટિંગ્સ બદલવી જોઈએ કારણ કે ડિફોલ્ટ સેટિંગ્સ એકદમ ઓછી શક્તિવાળા સર્વર માટે છે, પરંતુ હમણાં માટે ફક્ત તેની એક નકલ બનાવો જેથી આપણે શરૂઆતથી શરૂઆત ન કરવી પડે:

sudo cp www.conf mypool.conf

અલબત્ત, "માયપૂલ" ને તમે જે નામ આપવા માંગો છો તેનાથી બદલો.

હવે નેનો અથવા તમને ગમે તે ટેક્સ્ટ એડિટરનો ઉપયોગ કરીને નવી ફાઇલ ખોલો અને તેને તમારા હેતુને અનુરૂપ ગોઠવો. તમે કદાચ ચાઇલ્ડ પ્રોસેસ નંબરો અને સંભવતઃ પૂલ કયા વપરાશકર્તા અને જૂથ હેઠળ ચાલે છે તેમાં ફેરફાર કરવા માંગો છો, પરંતુ બે સેટિંગ્સ જે તમારે સંપૂર્ણપણે બદલવા પડશે તે છે પૂલનું નામ અને તે જે સોકેટ સાંભળી રહ્યું છે તે છે, નહીં તો તે હાલના પૂલ સાથે વિરોધાભાસ કરશે અને વસ્તુઓ કામ કરવાનું બંધ કરી દેશે.

પૂલનું નામ ફાઇલની ટોચની નજીક છે, જે ચોરસ કૌંસમાં બંધ છે. ડિફૉલ્ટ રૂપે તે [www] છે. આને તમે જે ઇચ્છો તે બદલો; હું તમને રૂપરેખાંકન ફાઇલનું નામ આપ્યું છે તે જ સૂચવીશ, તેથી આ ઉદાહરણ ખાતર તેને [mypool] માં બદલો. જો તમે તેને બદલશો નહીં, તો એવું લાગે છે કે PHP-FPM ફક્ત તે નામવાળી પ્રથમ રૂપરેખાંકન ફાઇલ લોડ કરશે, જે વસ્તુઓને તોડી શકે તેવી શક્યતા છે.

પછી તમારે જે સોકેટ અથવા સરનામું સાંભળી રહ્યા છો તે બદલવાની જરૂર છે, જે સાંભળવાના નિર્દેશ દ્વારા વ્યાખ્યાયિત થયેલ છે. ડિફૉલ્ટ રૂપે, PHP-FPM યુનિક્સ સોકેટ્સનો ઉપયોગ કરે છે તેથી તમારો સાંભળવાનો નિર્દેશ કદાચ આના જેવો દેખાશે:

listen = /var/run/php5-fpm.sock

તમે તેને ગમે તે માન્ય નામથી બદલી શકો છો, પરંતુ ફરીથી, હું રૂપરેખાંકન ફાઇલનામ જેવું જ કંઈક રાખવાનું સૂચન કરું છું, જેથી તમે તેને ઉદાહરણ તરીકે સેટ કરી શકો:

listen = /var/run/php5-fpm-mypool.sock

ઠીક છે, પછી, ફાઇલ સાચવો અને ટેક્સ્ટ એડિટરમાંથી બહાર નીકળો.

ભાગ ૨ - NGINX વર્ચ્યુઅલ હોસ્ટ ગોઠવણી અપડેટ કરો

હવે તમારે NGINX વર્ચ્યુઅલ હોસ્ટ ફાઇલ ખોલવાની જરૂર છે જેમાં FastCGI રૂપરેખાંકન છે જેને તમે નવા પૂલમાં બદલવા માંગો છો - અથવા તેના બદલે, નવા સોકેટ સાથે કનેક્ટ કરો.

ઉબુન્ટુ ૧૪.૦૪ પર ડિફૉલ્ટ રૂપે, આ /etc/nginx/sites-available હેઠળ સંગ્રહિત થાય છે, પરંતુ તેને અન્યત્ર પણ વ્યાખ્યાયિત કરી શકાય છે. તમે કદાચ સારી રીતે જાણો છો કે તમારા વર્ચ્યુઅલ હોસ્ટ રૂપરેખાંકનો ક્યાં સ્થિત છે ;-)

તમારા મનપસંદ ટેક્સ્ટ એડિટરમાં સંબંધિત રૂપરેખાંકન ફાઇલ ખોલો અને PHP-FPM સોકેટને વ્યાખ્યાયિત કરતી fastcgi_pass ડાયરેક્ટિવ (જે સ્થાન સંદર્ભમાં હોવી જોઈએ) શોધો. તમારે આ મૂલ્ય બદલવું આવશ્યક છે જેથી તે તમે પહેલા પગલા હેઠળ બનાવેલા નવા PHP-FPM પૂલ રૂપરેખાંકન સાથે મેળ ખાય, તેથી અમારા ઉદાહરણને ચાલુ રાખીને તમે આને આમાં બદલી શકો છો:

fastcgi_pass યુનિક્સ:/var/run/php5-fpm-mypool.sock;

પછી તે ફાઇલને પણ સેવ કરો અને બંધ કરો. હવે તમે લગભગ પૂર્ણ કરી લીધું છે.

ભાગ ૩ - PHP-FPM અને NGINX ને ફરીથી શરૂ કરો

તમે કરેલા રૂપરેખાંકન ફેરફારો લાગુ કરવા માટે, PHP-FPM અને NGINX બંનેને ફરીથી શરૂ કરો. રીસ્ટાર્ટ કરવાને બદલે ફરીથી લોડ કરવા માટે પૂરતું હોઈ શકે છે, પરંતુ મને લાગે છે કે કઈ સેટિંગ્સ બદલાઈ છે તેના આધારે તે થોડું હિટ એન્ડ મિસ છે. ચોક્કસ કિસ્સામાં, હું ઇચ્છતો હતો કે જૂની PHP-FPM ચાઇલ્ડ પ્રક્રિયાઓ તરત જ મરી જાય, તેથી PHP-FPM ફરીથી શરૂ કરવાની જરૂર હતી, પરંતુ NGINX માટે ફરીથી લોડ પૂરતું હોઈ શકે છે. તેને જાતે અજમાવી જુઓ.

sudo service php5-fpm restart
sudo service nginx restart

અને વોઇલા, તમે પૂર્ણ કરી લીધું. જો તમે બધું બરાબર કર્યું હોય, તો તમે જે વર્ચ્યુઅલ હોસ્ટને સુધાર્યો છે તે હવે નવા PHP-FPM પૂલનો ઉપયોગ કરતો હોવો જોઈએ અને અન્ય કોઈપણ વર્ચ્યુઅલ હોસ્ટ સાથે ચાઇલ્ડ પ્રોસેસ શેર કરતો હોવો જોઈએ નહીં.

બ્લુસ્કી પર શેર કરોફેસબુક પર શેર કરોLinkedIn પર શેર કરોટમ્બલર પર શેર કરોX પર શેર કરોLinkedIn પર શેર કરોPinterest પર પિન કરો

મિકેલ ક્રિસ્ટેનસેન

લેખક વિશે

મિકેલ ક્રિસ્ટેનસેન
મિકેલ miklix.com ના સર્જક અને માલિક છે. તેમને એક વ્યાવસાયિક કમ્પ્યુટર પ્રોગ્રામર/સોફ્ટવેર ડેવલપર તરીકે 20 વર્ષથી વધુનો અનુભવ છે અને હાલમાં તેઓ એક મોટા યુરોપિયન IT કોર્પોરેશનમાં પૂર્ણ-સમય કાર્યરત છે. જ્યારે તેઓ બ્લોગિંગ કરતા નથી, ત્યારે તેઓ પોતાનો ફાજલ સમય વિવિધ રુચિઓ, શોખ અને પ્રવૃત્તિઓ પર વિતાવે છે, જે આ વેબસાઇટ પર આવરી લેવામાં આવેલા વિવિધ વિષયોમાં પ્રતિબિંબિત થઈ શકે છે.