Apache & Nginx. ஒரு சங்கிலியால் இணைக்கப்பட்டுள்ளது

டைம்வெப்பில் Apache & Nginx சேர்க்கை எவ்வாறு செயல்படுத்தப்படுகிறது

பல நிறுவனங்களுக்கு, Nginx + Apache + PHP மிகவும் பொதுவான மற்றும் பொதுவான கலவையாகும், மேலும் Timeweb விதிவிலக்கல்ல. இருப்பினும், அது எவ்வாறு செயல்படுத்தப்படுகிறது என்பதைப் புரிந்துகொள்வது சுவாரஸ்யமானதாகவும் பயனுள்ளதாகவும் இருக்கும்.

Apache & Nginx. ஒரு சங்கிலியால் இணைக்கப்பட்டுள்ளது

அத்தகைய கலவையின் பயன்பாடு, நிச்சயமாக, எங்கள் வாடிக்கையாளர்களின் தேவைகளால் கட்டளையிடப்படுகிறது. Nginx மற்றும் Apache இரண்டும் ஒரு சிறப்புப் பாத்திரத்தை வகிக்கின்றன, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட சிக்கலை தீர்க்கிறது.

அடிப்படை அமைப்புகள் அப்பாச்சி Apache இன் உள்ளமைவு கோப்புகளில் செய்யப்படுகின்றன, மேலும் கிளையன்ட் தளங்களுக்கான அமைப்புகள் இதன் மூலம் நிகழ்கின்றன .htaccess கோப்பு. .htaccess என்பது ஒரு உள்ளமைவு கோப்பாகும், இதில் கிளையன்ட் இணைய சேவையகத்தின் விதிகள் மற்றும் நடத்தையை சுயாதீனமாக கட்டமைக்க முடியும். இந்த அமைப்பு அவரது தளத்திற்கு குறிப்பாகப் பொருந்தும். எடுத்துக்காட்டாக, அப்பாச்சி செயல்பாட்டிற்கு நன்றி, பயனர்கள் அதே PHP பதிப்பில் உள்ள இயக்க முறைமையை mod_php இலிருந்து mod_cgi க்கு மாற்றலாம்; நீங்கள் வழிமாற்றுகளை அமைக்கலாம், எஸ்சிஓவிற்கான தேர்வுமுறை, வசதியான URL, PHPக்கு சில வரம்புகள்.

nginx ட்ராஃபிக்கை அப்பாச்சிக்கு திருப்பிவிட ப்ராக்ஸி சர்வராகவும், நிலையான உள்ளடக்கத்தை வழங்க இணைய சேவையகமாகவும் பயன்படுத்தப்படுகிறது. எங்கள் பயனர்களின் தரவைப் பாதுகாக்க அனுமதிக்கும் Nginxக்கான பாதுகாப்பு தொகுதிகளையும் நாங்கள் உருவாக்கியுள்ளோம், எடுத்துக்காட்டாக, அணுகல் உரிமைகளைப் பிரிக்க.

ஒரு பயனர் எங்கள் வாடிக்கையாளரின் வலைத்தளத்தைப் பார்வையிடுகிறார் என்று கற்பனை செய்து கொள்வோம். முதலில், பயனர் Nginx ஐப் பெறுகிறார், இது நிலையான உள்ளடக்கத்தை வழங்குகிறது. அது உடனடியாக நடக்கும். பின்னர், PHP ஐ ஏற்றும் போது, ​​Nginx கோரிக்கையை அப்பாச்சிக்கு அனுப்புகிறது. மற்றும் அப்பாச்சி, PHP உடன் இணைந்து, ஏற்கனவே டைனமிக் உள்ளடக்கத்தை உருவாக்குகிறது.

Timeweb இல் Apache & Nginx தொகுப்பின் அம்சங்கள்

எங்கள் மெய்நிகர் ஹோஸ்டிங் Apache & Nginx க்கான 2 முக்கிய இயக்க திட்டங்களை செயல்படுத்துகிறது: பகிரப்பட்டது மற்றும் அர்ப்பணிக்கப்பட்டது.

பகிரப்பட்ட திட்டம்

இந்தத் திட்டம் பெரும்பாலான பயனர்களுக்குப் பயன்படுத்தப்படுகிறது. இது அதன் எளிமை மற்றும் வள தீவிரத்தால் வேறுபடுகிறது: பகிரப்பட்ட திட்டம் குறைவான ஆதாரங்களைப் பயன்படுத்துகிறது, அதனால்தான் அதன் கட்டணம் மலிவானது. இந்த திட்டத்தின் படி, சர்வர் ஒரு Nginx ஐ இயக்குகிறது, இது அனைத்து பயனர் கோரிக்கைகளையும் மற்றும் Apache இன் பல நிகழ்வுகளையும் வழங்க அனுமதிக்கிறது.

பகிரப்பட்ட திட்டம் நீண்ட காலமாக மேம்படுத்தப்பட்டு வருகிறது: படிப்படியாக குறைபாடுகளை சரிசெய்தோம். வசதியாக, மூலக் குறியீட்டை மாற்ற வேண்டிய அவசியமின்றி இதைச் செய்யலாம்.

Apache & Nginx. ஒரு சங்கிலியால் இணைக்கப்பட்டுள்ளது
பகிரப்பட்ட திட்டம்

அர்ப்பணிக்கப்பட்ட திட்டம்

அர்ப்பணிப்புக்கு அதிக ஆதாரங்கள் தேவைப்படுகின்றன, எனவே அதன் கட்டணமானது வாடிக்கையாளர்களுக்கு மிகவும் விலை உயர்ந்தது. அர்ப்பணிக்கப்பட்ட திட்டத்தில், ஒவ்வொரு வாடிக்கையாளரும் தனித்தனி அப்பாச்சியைப் பெறுகிறார்கள். இங்குள்ள வளங்கள் வாடிக்கையாளருக்காக ஒதுக்கப்பட்டுள்ளன, அவை பிரத்தியேகமாக ஒதுக்கப்படுகின்றன. இது எவ்வாறு செயல்படுகிறது: சர்வரில் PHP இன் பல பதிப்புகள் உள்ளன. 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4 பதிப்புகளை நாங்கள் ஆதரிக்கிறோம். எனவே, PHP இன் ஒவ்வொரு பதிப்பிற்கும் அதன் சொந்த அப்பாச்சி தொடங்கப்பட்டது.

Apache & Nginx. ஒரு சங்கிலியால் இணைக்கப்பட்டுள்ளது
அர்ப்பணிக்கப்பட்ட திட்டம்

பாதுகாப்பான மண்டலம். Nginx இல் மண்டலங்களை அமைத்தல்

முன்பு, Nginxக்கு, பல பகிரப்பட்ட நினைவக மண்டலங்களைப் (மண்டலங்கள்) பயன்படுத்தினோம் - ஒரு டொமைனுக்கு ஒரு சர்வர் தொகுதி. ஒவ்வொரு தளத்திற்கும் தனித்தனி மண்டலம் உருவாக்கப்படுவதால், இந்த அமைப்பிற்கு நிறைய ஆதாரங்கள் தேவைப்படுகின்றன. இருப்பினும், Nginx அமைப்புகளில், பெரும்பாலான தளங்கள் ஒரே வகையைச் சேர்ந்தவை, எனவே அவை தொகுதியில் வரைபட வழிமுறைகளைப் பயன்படுத்துவதன் மூலம் ஒரு மண்டலத்தில் வைக்கப்படலாம். ngx_http_map_module, இது கடிதங்களை குறிப்பிட உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, எங்களிடம் ஒரு மண்டல டெம்ப்ளேட் உள்ளது, அதில் நாம் மாறிகளை வழங்க வேண்டும்: தளத்திற்கான பாதை, PHP பதிப்பு, பயனர். இதனால், Nginx உள்ளமைவின் மறுவாசிப்பு, அதாவது மறுஏற்றம் துரிதப்படுத்தப்பட்டது.

இந்த கட்டமைப்பு RAM வளங்களை பெரிதும் சேமித்து Nginx ஐ வேகப்படுத்தியது.

ரீலோட் வேலை செய்யாது!

பகிரப்பட்ட திட்டத்தில், வலைத்தள அமைப்புகளை மாற்றும்போது அப்பாச்சியை மீண்டும் ஏற்ற வேண்டிய அவசியத்திலிருந்து விடுபட்டோம். முன்னதாக, ஒரு கிளையன்ட் டொமைனைச் சேர்க்க அல்லது PHP பதிப்பை மாற்ற விரும்பினால், அப்பாச்சியின் கட்டாய மறுஏற்றம் தேவைப்பட்டது, இது பதில்களில் தாமதம் மற்றும் தளத்தின் செயல்திறனை எதிர்மறையாகப் பாதித்தது.

டைனமிக் உள்ளமைவுகளை உருவாக்குவதன் மூலம் ரீலோடுகளை அகற்றிவிட்டோம். நன்றி mpm-itk (அப்பாச்சி தொகுதி), ஒவ்வொரு செயல்முறையும் ஒரு தனி பயனராக இயங்குகிறது, இது பாதுகாப்பின் அளவை அதிகரிக்கிறது. இந்த முறை பயனர் மற்றும் அவரது document_root பற்றிய தரவை Nginx இலிருந்து Apache2 க்கு மாற்ற அனுமதிக்கிறது. எனவே, அப்பாச்சியில் தள கட்டமைப்புகள் இல்லை, அது மாறும் வகையில் அவற்றைப் பெறுகிறது, மேலும் மறுஏற்றம் இனி தேவையில்லை.

Apache & Nginx. ஒரு சங்கிலியால் இணைக்கப்பட்டுள்ளது
பகிரப்பட்ட திட்ட கட்டமைப்பு

டோக்கர் பற்றி என்ன?

பல நிறுவனங்கள் கொள்கலன் அடிப்படையிலான அமைப்புக்கு மாறியுள்ளன. டைம்வெப் தற்போது அத்தகைய மாற்றத்திற்கான சாத்தியத்தை பரிசீலித்து வருகிறது. நிச்சயமாக, ஒவ்வொரு முடிவிலும் நன்மை தீமைகள் உள்ளன.

மறுக்க முடியாத நன்மைகளுடன், கொள்கலன் அமைப்பு பயனருக்கு குறைவான ஆதாரங்களை வழங்குகிறது. டைம்வெப்பில், விவரிக்கப்பட்ட ஹோஸ்டிங் திட்டத்திற்கு நன்றி, பயனருக்கு RAM இல் வரம்பு இல்லை. இது கொள்கலனில் இருப்பதை விட அதிக ஆதாரங்களைப் பெறுகிறது. கூடுதலாக, பயனர் அதிகமான அப்பாச்சி தொகுதிகள் ஏற்றப்பட்டிருக்கலாம்.

டைம்வெப் சுமார் 500 இணையதளங்களை இயக்குகிறது. நாங்கள் பெரும் பொறுப்பை ஏற்றுக்கொள்கிறோம் மற்றும் சிக்கலான கட்டிடக்கலைக்கு உடனடி, நியாயமற்ற மாற்றங்களைச் செய்ய மாட்டோம். Apache & Nginx கலவையானது நம்பகமானது மற்றும் நேரம் சோதிக்கப்பட்டது. நாங்கள், தனிப்பட்ட கட்டமைப்புகள் மூலம் அதிகபட்ச செயல்திறனை அடைய முயற்சிக்கிறோம்.

அதிக எண்ணிக்கையிலான தளங்களின் உயர்தர மற்றும் விரைவான செயல்பாட்டிற்கு, நீங்கள் Apache மற்றும் Nginx இன் டெம்ப்ளேட் மற்றும் டைனமிக் உள்ளமைவைப் பயன்படுத்த வேண்டும். அதிக எண்ணிக்கையிலான ஒத்த சேவையகங்களை எளிதாகவும் விரைவாகவும் நிர்வகிக்க இது உங்களை அனுமதிக்கிறது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்