NGINX இல் தனி PHP-FPM குளங்களை எவ்வாறு அமைப்பது
வெளியிடப்பட்டது: 15 பிப்ரவரி, 2025 அன்று AM 11:54:45 UTC
இந்த கட்டுரையில், பல PHP-FPM குளங்களை இயக்குவதற்கும், FastCGI வழியாக NGINX ஐ அவற்றுடன் இணைப்பதற்கும் தேவையான உள்ளமைவு படிகளை நான் கடந்து செல்கிறேன், இது மெய்நிகர் ஹோஸ்ட்களுக்கு இடையில் செயல்முறை பிரிப்பு மற்றும் தனிமைப்படுத்தலை அனுமதிக்கிறது.
How to Set Up Separate PHP-FPM Pools in NGINX
இந்த இடுகையில் உள்ள தகவல்கள் உபுண்டு சேவையகம் 1.4.6 x5.9 இல் இயங்கும் NGINX 14.04 மற்றும் PHP-FPM 64 ஐ அடிப்படையாகக் கொண்டவை. இது மற்ற பதிப்புகளுக்கு செல்லுபடியாகலாம் அல்லது செல்லுபடியாகாமல் இருக்கலாம். (புதுப்பி: உபுண்டு சேவையகம் 24.04, PHP-FPM 8.3 மற்றும் NGINX 1.24.0 வரை, இந்த இடுகையில் உள்ள அனைத்து வழிமுறைகளும் இன்னும் செயல்படுகின்றன என்பதை நான் உறுதிப்படுத்த முடியும்)
எல்லாவற்றையும் ஒரே குளத்தில் இயக்குவதை விட பல PHP-FPM குழந்தை செயல்முறை குளங்களை அமைப்பதில் பல நன்மைகள் உள்ளன. பாதுகாப்பு, பிரித்தல் / தனிமைப்படுத்தல் மற்றும் வள மேலாண்மை ஆகியவை சில முக்கியமானவை என்று நினைவுக்கு வருகின்றன.
உங்கள் உந்துதல் எதுவாக இருந்தாலும், இந்த இடுகை அதை செய்ய உங்களுக்கு உதவும் :-)
பகுதி 1 - ஒரு புதிய PHP-FPM பூல் அமைக்கவும்
முதலில், PHP-FPM அதன் பூல் உள்ளமைவுகளை சேமிக்கும் கோப்பகத்தை நீங்கள் கண்டுபிடிக்க வேண்டும். உபுண்டு 14.04 இல், இது /etc/php5/fpm/pool.d முன்னிருப்பாக இருக்கும். இயல்புநிலை குளத்திற்கான உள்ளமைவை வைத்திருக்கும் www.conf எனப்படும் கோப்பு ஏற்கனவே அங்கு உள்ளது. நீங்கள் முன்பு அந்த கோப்பைப் பார்க்கவில்லை என்றால், நீங்கள் அதைப் பார்த்து, இயல்புநிலைகள் மிகவும் சக்தி குறைந்த சேவையகத்திற்கானவை என்பதால் உங்கள் அமைப்பிற்காக அதில் உள்ள அமைப்புகளை மாற்ற வேண்டும், ஆனால் இப்போதைக்கு அதன் நகலை உருவாக்குங்கள், எனவே நாங்கள் புதிதாக தொடங்க வேண்டியதில்லை:
நிச்சயமாக, உங்கள் குளம் அழைக்கப்பட வேண்டும் என்று நீங்கள் விரும்பும் "மைபூல்" ஐ மாற்றவும்.
இப்போது நானோ அல்லது நீங்கள் விரும்பும் எந்த உரை திருத்தியைப் பயன்படுத்தி புதிய கோப்பைத் திறந்து உங்கள் நோக்கத்திற்கு ஏற்றவாறு அதை சரிசெய்யவும். குழந்தை செயல்முறை எண்கள் மற்றும் எந்த பயனர் மற்றும் குழுவின் கீழ் குளம் இயங்குகிறது என்பதை நீங்கள் மாற்றியமைக்க விரும்புவீர்கள், ஆனால் நீங்கள் முற்றிலும் மாற்ற வேண்டிய இரண்டு அமைப்புகள் குளத்தின் பெயர் மற்றும் அது கேட்கும் சாக்கெட், இல்லையெனில் அது முரண்படும் இருக்கும் குளம் மற்றும் விஷயங்கள் வேலை செய்வதை நிறுத்திவிடும்.
குளத்தின் பெயர் கோப்பின் மேற்புறத்திற்கு அருகில், சதுர அடைப்புக்குறிக்குள் இணைக்கப்பட்டுள்ளது. முன்னிருப்பாக அது [www]. இதை உங்களுக்கு என்ன வேண்டுமோ அப்படி மாற்றிக் கொள்ளுங்கள்; உள்ளமைவு கோப்பை நீங்கள் பெயரிட்டதையே நான் பரிந்துரைக்கிறேன், எனவே இந்த எடுத்துக்காட்டுக்காக அதை [mypool] என மாற்றவும். நீங்கள் அதை மாற்றவில்லை என்றால், PHP-FPM அந்த பெயருடன் முதல் உள்ளமைவு கோப்பை மட்டுமே ஏற்றும் என்று தெரிகிறது, இது விஷயங்களை உடைக்க வாய்ப்புள்ளது.
நீங்கள் கேட்கும் சாக்கெட் அல்லது முகவரியை மாற்ற வேண்டும், இது கேட்கும் உத்தரவால் வரையறுக்கப்படுகிறது. இயல்பாக, PHP-FPM யூனிக்ஸ் சாக்கெட்டுகளைப் பயன்படுத்துகிறது, எனவே உங்கள் கேட்கும் உத்தரவு இப்படி இருக்கும்:
நீங்கள் விரும்பும் செல்லுபடியாகும் பெயருக்கு அதை மாற்றலாம், ஆனால் மீண்டும், உள்ளமைவு கோப்பு பெயருக்கு ஒத்த ஒன்றுடன் ஒட்டிக்கொள்வதை நான் பரிந்துரைக்கிறேன், எனவே நீங்கள் அதை அமைக்கலாம்:
சரி, fileஐ சேமித்து text editorஐ விட்டு வெளியேறவும்.
பகுதி 2 - NGINX மெய்நிகர் ஹோஸ்ட் உள்ளமைவைப் புதுப்பிக்கவும்
இப்போது நீங்கள் புதிய குளத்திற்கு மாற்ற விரும்பும் FastCGI உள்ளமைவுடன் NGINX மெய்நிகர் ஹோஸ்ட் கோப்பைத் திறக்க வேண்டும் - அல்லது மாறாக, புதிய சாக்கெட்டுடன் இணைக்கவும்.
உபுண்டு 14.04 இல் முன்னிருப்பாக, இவை /etc/nginx/sites-available இன் கீழ் சேமிக்கப்படுகின்றன, ஆனால் வேறு இடங்களிலும் வரையறுக்கப்படலாம். உங்கள் மெய்நிகர் ஹோஸ்ட் உள்ளமைவுகள் எங்கு அமைந்துள்ளன என்பதை நீங்கள் நன்கு அறிவீர்கள் ;-)
உங்களுக்கு பிடித்த உரை திருத்தியில் தொடர்புடைய உள்ளமைவு கோப்பைத் திறந்து, PHP-FPM சாக்கெட்டை வரையறுக்கும் fastcgi_pass உத்தரவைத் தேடுங்கள் (இது இருப்பிட சூழலில் இருக்க வேண்டும்). இந்த மதிப்பை நீங்கள் மாற்ற வேண்டும், இதனால் இது படி ஒன்றின் கீழ் நீங்கள் செய்த புதிய PHP-FPM பூல் உள்ளமைவுடன் பொருந்துகிறது, எனவே எங்கள் எடுத்துக்காட்டைத் தொடர்ந்து இதை மாற்றுவீர்கள்:
fastcgi_pass யூனிக்ஸ்:/var/run/php5-fpm-mypool.sock;
பின்னர் அந்த fileஐ சேமித்து மூடவும். நீங்கள் இப்போது கிட்டத்தட்ட முடித்துவிட்டீர்கள்.
பகுதி 3 - PHP-FPM மற்றும் NGINX ஐ மறுதொடக்கம் செய்யுங்கள்
நீங்கள் செய்த உள்ளமைவு மாற்றங்களைப் பயன்படுத்த, PHP-FPM மற்றும் NGINX இரண்டையும் மறுதொடக்கம் செய்யுங்கள். மறுதொடக்கம் செய்வதற்கு பதிலாக மீண்டும் ஏற்றுவதற்கு இது போதுமானதாக இருக்கலாம், ஆனால் எந்த அமைப்புகள் மாற்றப்படுகின்றன என்பதைப் பொறுத்து இது சற்று ஹிட் மற்றும் மிஸ் என்று நான் காண்கிறேன். குறிப்பிட்ட விஷயத்தில், பழைய PHP-FPM குழந்தை செயல்முறைகள் இப்போதே இறக்க வேண்டும் என்று நான் விரும்பினேன், எனவே PHP-FPM ஐ மறுதொடக்கம் செய்வது தேவைப்பட்டது, ஆனால் NGINX க்கு ஒரு ரீலோட் போதுமானதாக இருக்கலாம். நீங்களே முயற்சி செய்து பாருங்கள்.
sudo service nginx restart
மற்றும் voila, நீங்கள் முடித்துவிட்டீர்கள். நீங்கள் எல்லாவற்றையும் சரியாகச் செய்திருந்தால், நீங்கள் மாற்றியமைத்த மெய்நிகர் ஹோஸ்ட் இப்போது புதிய PHP-FPM பூலைப் பயன்படுத்த வேண்டும் மற்றும் குழந்தை செயல்முறைகளை வேறு எந்த மெய்நிகர் ஹோஸ்ட்களுடனும் பகிர்ந்து கொள்ளக்கூடாது.