என்சினெக்சு

என்சினெக்சு (Nginx) என்பது 'என்சின்-எக்சு' என பேச்சு வழக்கில் ஒலிக்கப்படுகிறது. இந்த நுட்பமானது, திறந்தமூல இணைய வழங்கி (open-source web server) ஆகும். இது இணைய வழங்கியாக மட்டுமன்றி, பின்னோக்கிய பதிலாள் (reverse proxy), பளு சமநிலைப்படுத்தி (load balancer), மின்னஞ்சல் பதிலாள் (mail proxy), இணைய இடைநினைவி ஆகவும் செயல்படுகிறது.[1]. இகோர் சிசோயேவ் (Igor Sysoev) என்பவரால் உருவாக்கப்பட்டது. இந்த மென்பொருள், 2004 ஆம் ஆண்டில், முதன்முதலில் பொதுப் பயன்பாட்டிற்கு வெளியிடப்பட்டது. உலகளவில் அதிக போக்குவரத்து கொண்ட இணையதளங்களில், இது பெருமளவில் பயன்படுத்தப்படுகிறது.
வரலாறு
[தொகு]1999 ஆம் ஆண்டில், "சி10கே சிக்கல்" (C10k problem) என்ற அழைகப்பட்ட, பத்தாயிரம் சமகால இணைப்புகளை (concurrent connections), ஒரே நேரத்தில் கையாளும் சவாலை இணைய வழங்கிகள் எதிர்கொண்டன. இணையத்தின் வளர்ச்சி மிக வேகமாக இருந்த, அந்த காலகட்டத்தில், அதிக பயனர்கள் ஒரே நேரத்தில் இணையதளங்களை அணுகும்போது சேவையகங்கள் முடங்கும் நிலை உருவானது. இந்தச் சிக்கலுக்குத் தீர்வு காணும் வகையில், 2002 ஆம் ஆண்டு உருசியாவைச் சேர்ந்த மென்பொறியாளரான இகோர் சிசோயேவ் என்ஜின்எக்ஸ் மென்பொருளின் நிரலாக்கத்தைத் தொடங்கினார்.[2].
2004 ஆம் ஆண்டு அக்டோபர் 4 அன்று இதன் முதல் ஆணித்தரமானப் பதிப்பு வெளியானது. தொடக்கத்தில் இராம்ப்லர் (Rambler) போன்ற உருசிய இணையதளங்களின் தேவைகளைப் பூர்த்தி செய்வதற்காக உருவாக்கப்பட்ட இது, பின்னர் அதன் வேகம் மற்றும் நிலைத்தன்மையின் காரணமாக உலகெங்கிலும் புகழ் பெற்றது.
2011 ஆம் ஆண்டில், இம்மென்பொருளுக்கான வணிக ஆதரவை வழங்குவதற்காக 'என்ஜின்எக்சு இன்க்' (Nginx, Inc.) என்ற நிறுவனம், சான் பிரான்சிஸ்கோவை தலைமையிடமாகக் கொண்டு நிறுவப்பட்டது.
2019 ஆம் ஆண்டு மார்ச்சு மாதம், தகவல் தொழில்நுட்பப் பாதுகாப்பு மற்றும் வலைப்பின்னல் நிறுவனமான எஃப்5 நெட்வொர்க்ஸ் (F5 Networks), என்ஜின்எக்சு நிறுவனத்தை 670 மில்லியன் அமெரிக்க டாலர்களுக்கு கையகப்படுத்தியது.[3].
செயல்பாட்டு முறை
[தொகு]இந்த நுட்பம் அதன் ஒத்திசைவற்ற, நிகழ்வு உந்துதல் கட்டமைப்பிற்காக (asynchronous, event-driven architecture) ணினி அறிவியலில் சிறப்பாக அறியப்படுகிறது.[4] இந்த கட்டமைப்பு, முந்தைய தலைமுறை இணைய வழங்கிகளில் இருந்து முற்றிலும் வேறுபட்டதாகும்.
அப்பாச்சிக்கும், இதற்குமுள்ள உள்ள வேறுபாடு
[தொகு]அப்பாச்சி (Apache) போன்ற பாரம்பரிய இணைய வழங்கிகள்/வழங்கன்கள், ஒவ்வொரு புதிய கோரிக்கைக்கும், ஒரு புதிய இழையை (thread) அல்லது செயல்முறையை (process) உருவாக்குகின்றன. ஆயிரக்கணக்கான பயனர்கள், ஒரே நேரத்தில் இணையும்போது, ஆயிரக்கணக்கான செயல்முறைகள் உருவாக்கப்பட்டு, கணினியின் நேரடி அணுகல் நினைவகம், செயற்பகுதி நடுவம் ஆகியன, பெருமளவில் செலவிடப்படுகிறது. இதனால் சேவையகம் மெதுவாக செயல்படும் அல்லது முடங்கிவிடும் சூழ்நிலை உள்ளது.
ஆனால், என்சினெக்சு, ஒரு முதன்மைச் செயல்முறையையும் (master process), வரையறுக்கப்பட்ட எண்ணிக்கையிலான பணியாளர் செயல்முறைகளையும் (worker processes) பயன்படுத்துகிறது. வழக்கமாக கணினியில் உள்ள ஒவ்வொரு மையச் செயலக உள்ளகத்திற்கும் (CPU core), ஒரு பணியாளர் செயல்முறை என்ற வீதத்தில் இது இயங்கும்.
நிகழ்வு உந்துதல் முறை
[தொகு]ஒரு பணியாளர் செயல்முறை, ஒரே நேரத்தில் ஆயிரக்கணக்கான இணைப்புகளைத் திறமையாகக் கையாளும் திறன் கொண்டவையாகத் திகழ்கின்றன. இது கணினியின் வளங்களை, மிகக் குறைவாகவே பயன்படுத்துகிறது. நிகழ்வு உந்துதல் வளையத்தின் (Event loop) மூலம், இது செயல்படுவதால், ஒரு தரவுத்தளத்தின் பதிலுக்காகவோ, உள்ளீட்டு/வெளியீட்டு (I/O) செயல்பாடுகளுக்காகவோ காத்திருக்காமல், தொடர்ந்து பல கோரிக்கைகளுக்குச் சேவை வழங்க முடியும். இதுவே என்சினெக்சு மென்பொருளை, அதிவேகமானதாக மாற்றுகிறது.
உள்ளமைவு
[தொகு]- இந்த மென்பொருளை மேலாண்மை செய்ய, அதன் தனிக்கோப்பு (nginx.conf), உள்ளமைவு கோப்பு (configuration file) பயன்படுத்தப்படுகிறது. இந்த கோப்பில் தரவுகள், படிநிலை அமைப்பில் (hierarchical blocks) எழுதப்படுகின்றன. 'http', 'server', மற்றும் 'location' போன்ற தொகுதிகள் (blocks) மூலம் குறிப்பிட்ட இணையதள முகவரிகளுக்கான (URLs) விதிகளை நிர்வகிக்கலாம்.
- இது ஒரு மட்டுப்படுத்தப்பட்ட கட்டமைப்பை (modular architecture) கொண்டுள்ளது. மூன்றாம் தரப்பு உருவாக்குநர்கள், தங்களின் சொந்த நீட்சிகளை (modules) உருவாக்கி என்சினெக்சு உடன் இணைத்துக்கொள்ள முடியும்.
இணையப் பயன்பாடு
[தொகு]உலகில் உள்ள அதிக போக்குவரத்து நிறைந்த முதல் ஒரு இலட்சம் இணையதளங்களில், மிகப் பெரும்பான்மையானவை இம்மென்பொருள் வழங்கனையே பயன்படுத்துகின்றன. நெற்ஃபிளிக்சு, கிட்ஹப், கிளவுட்பிளேர் (Cloudflare), இன்ஸ்ட்டாகிராம், வேர்ட்பிரசு போன்ற பெரிய தொழில்நுட்ப நிறுவனங்கள், தங்களின் உள்கட்டமைப்பில் இதனைப் பயன்படுத்துகின்றன. நெட்கிராப்ட் (Netcraft), டபிள்யூ3டெக்ஸ் (W3Techs) போன்ற இணையத் தரவு பகுப்பாய்வு நிறுவனங்களின் அறிக்கைகளின்படி, அப்பாச்சிக்கு அடுத்தபடியாக அல்லது அதற்கு இணையாக உலகளவில் அதிக பயன்பாட்டில் உள்ள இணைய வழங்கன் இதுவேயாகும்.[5].
பின்னோக்கிய பதிலாளும், பளு சமநிலைப்படுத்தியும்
[தொகு]தற்கால சிக்கலான இணையக் கட்டமைப்புகளில், பயனர்களிடமிருந்து வரும் கோரிக்கைகளைப் பெற்று, அவற்றை உள்-கட்டமைப்பில் உள்ள பல வழங்கன்களுக்கு (backend servers) பிரித்தளிக்கும் பளு சமநிலைப்படுத்தியாக இது செயல்படுகிறது. இதனால் ஒற்றை வழங்கன் மீது அதிக பளு ஏற்படுவது தவிர்க்கப்படுகிறது.[6]. இரவுண்ட்-ராபின் (Round-robin), குறைந்த இணைப்புகள் (Least connections), ஐபி ஆசு (IP hash) போன்ற பல்வேறு பளு சமநிலைப்படுத்தும் வழிமுறைகளை இது கொண்டுள்ளது. மேலும், பல நெறிமுறைகளை (FastCGI, SCGI, uWSGI) ஆதரிக்கும் பைதான், பி.எச்.பி பயன்பாட்டு வழங்கன்களுக்கு, பின்னோக்கிய பதிலாளாகவும் (Reverse Proxy and Load Balancer), இது செயலாற்றுகிறது.
பாதுகாப்பும், குறியாக்கமும்
[தொகு]இது டி.எல்.எசு/எசு.எசு.எல் (TLS/SSL) குறியாக்கத்தை மிகச் சிறப்பாக ஆதரிக்கிறது. பாதுகாப்பான இணையத் தொடர்புகளை (HTTPS) ஏற்படுத்துவதிலும், சான்றிதழ்களை (certificates) நிர்வகிப்பதிலும் இது அதிவேகமாக செயல்படுகிறது. எசு.என்.ஐ (SNI - Server Name Indication) ஆதரவும் இதில் இடம்பெற்றுள்ளது. மேலும், தேவையற்ற அல்லது தீங்கு விளைவிக்கும் ஐபி முகவரிகளைத் தடுப்பதற்கும், டிடாசு (DDoS) தாக்குதல்களின் தீவிரத்தைக் குறைப்பதற்கும் இது பயன்படுகிறது.
மின்னஞ்சல் பதிலாள்
[தொகு]ஐமேப் (இணையச் செய்தி அணுகு நெறிமுறை), பாப்3 (POP3), மற்றும் எசு.எம்.டி.பி (SMTP) ஆகிய மின்னஞ்சல் நெறிமுறைகளுக்கான பதிலாள் (Mail Proxy) வழங்கனாகவும் என்ஜின்எக்சு பயன்படுத்தப்படுகிறது. இதன் மூலம் மின்னஞ்சல் சேவையகங்களுக்குப் பாதுகாப்பான முகப்பாக இது செயலாற்றுகிறது.
என்சினெக்சு +
[தொகு]என்சினெக்சு + ( (Nginx Plus))என்பது என்சினெக்சு மென்பொருளின் கட்டணம் செலுத்திப் பயன்படுத்தும், வணிகப் பதிப்பாகும். திறந்தமூலப் பதிப்பில் உள்ள அனைத்து அடிப்படை வசதிகளும், நிறுவனங்களுக்குத் தேவையான மேம்பட்ட வசதிகளும், இப்பதிப்பில் உள்ளன. மேம்பட்ட பளு சமநிலைப்படுத்தல், செயலில் உள்ள சுகாதாரச் சோதனைகள் (active health checks - பின்னணி வழங்கன்கள் சரியாக இயங்குகிறதா எனத் தொடர்ந்து சோதிப்பது), நேரலைச் செயல்பாடு கண்காணிப்பு (live activity monitoring), இந்நிறுவனத்தின் நேரடி தொழில்நுட்ப ஆதரவு ஆகிய கூடுதல் வசதிகளை, இந்த வணிகப் பதிப்பு வாடிக்கையாளர்களுக்கு வழங்குகிறது.
மேற்கோள்கள்
[தொகு]- ↑ "nginx". nginx.org. Retrieved 2026-04-17.
- ↑ Kegel, Dan. "The C10K problem". Retrieved 2026-04-17.
- ↑ "F5 acquires NGINX to bridge NetOps & DevOps". F5 Networks. 2019-03-11. https://www.f5.com/company/blog/f5-acquires-nginx-to-bridge-netops-devops.
- ↑ "The Architecture of Open Source Applications: nginx". aosabook.org. Retrieved 2026-04-17.
- ↑ "Usage Statistics and Market Share of Nginx". W3Techs. Retrieved 2026-04-17.
- ↑ "NGINX Load Balancing - HTTP Load Balancer". NGINX Docs. Retrieved 2026-04-17.