உபுண்டுவில் அப்பாச்சியில் HTTP/2 ஐ எவ்வாறு இயக்குவது


உலகளாவிய வலை (www) தொடங்கப்பட்டதிலிருந்து, இணையத்தில் பாதுகாப்பான மற்றும் வேகமான டிஜிட்டல் உள்ளடக்கத்தை வழங்க HTTP நெறிமுறை பல ஆண்டுகளாக உருவாகியுள்ளது.

மிகவும் பரவலாகப் பயன்படுத்தப்படும் பதிப்பு HTTP 1.1 ஆகும், மேலும் இது முந்தைய பதிப்புகளின் குறைபாடுகளை நிவர்த்தி செய்வதற்கான அம்ச மேம்பாடுகள் மற்றும் செயல்திறன் மேம்படுத்தல்களுடன் தொகுக்கப்படுகையில், இது HTTP/2 ஆல் தீர்க்கப்பட்ட சில முக்கிய அம்சங்களுக்குக் குறைவு.

HTTP/1.1 நெறிமுறை பின்வரும் குறைபாடுகளால் நிறைந்துள்ளது, இது அதிக போக்குவரத்து வலை சேவையகங்களை இயக்கும் போது குறைந்த இலட்சியத்தை உருவாக்குகிறது:

  1. நீண்ட HTTP தலைப்புகள் காரணமாக வலைப்பக்கங்களை ஏற்றுவதில் தாமதம்.
  2. TCTP இணைப்புக்கு ஒவ்வொரு கோப்பிற்கும் ஒரு கோரிக்கையை மட்டுமே HTTP/1.1 அனுப்ப முடியும்.
  3. ஒவ்வொரு டி.சி.பி இணைப்பிற்கும் ஒரு கோரிக்கையை எச்.டி.டி.பி/1.1 செயலாக்குகிறது என்பதால், ஒரே நேரத்தில் கோரிக்கைகளை செயலாக்க இணையான டி.சி.பி இணைப்புகளின் பிரளயத்தை அனுப்ப உலாவிகள் கட்டாயப்படுத்தப்படுகின்றன. இது TCP நெரிசலுக்கும் இறுதியில் அலைவரிசை விரயம் மற்றும் பிணைய சீரழிவுக்கும் வழிவகுக்கிறது.

மேலே குறிப்பிடப்பட்ட சிக்கல்கள் பெரும்பாலும் செயல்திறன் சிதைவு மற்றும் அலைவரிசை பயன்பாட்டில் அதிக மேல்நிலை செலவுகளுக்கு வழிவகுத்தன. இந்த சிக்கல்களைத் தீர்க்க HTTP/2 படத்தில் வந்தது, இப்போது HTTP நெறிமுறைகளின் எதிர்காலம்.

இது பின்வரும் நன்மைகளை வழங்குகிறது:

  1. கிளையன்ட் கோரிக்கைகளை குறைத்து அதன் மூலம் அலைவரிசை நுகர்வு குறைக்கும் தலைப்பு சுருக்க. இதன் விளைவாக விரைவான பக்க சுமை வேகம்.
  2. ஒரு டி.சி.பி இணைப்பில் பல கோரிக்கைகளை மல்டிபிளக்ஸ் செய்தல். சேவையகம் மற்றும் கிளையன்ட் இரண்டுமே ஒரு HTTP கோரிக்கையை பல பிரேம்களாக உடைத்து மறுமுனையில் அவற்றை மீண்டும் ஒருங்கிணைக்கலாம்.
  3. விரைவான வலை செயல்திறன் இதன் விளைவாக சிறந்த எஸ்சிஓ தரவரிசைக்கு வழிவகுக்கும்.
  4. பெரும்பாலான பிரதான உலாவிகள் HTTP/2 ஐ HTTPS வழியாக ஏற்றுவதால் மேம்படுத்தப்பட்ட பாதுகாப்பு.
  5. தலைப்பு சுருக்க அம்சத்திற்கு HTTP/2 மொபைல் நட்பு நன்றி என்று கருதப்படுகிறது.

உபுண்டு 20.04 எல்டிஎஸ் மற்றும் உபுண்டு 18.04 எல்டிஎஸ் ஆகியவற்றில் அப்பாச்சியில் எச்.டி.டி.பி/2 ஐ இயக்கப் போகிறோம்.

தொடங்குவதற்கு முன், HTTP/2 ஐ இயக்குவதற்கு முன்பு அப்பாச்சி வெப்சர்வரில் HTTPS ஐ இயக்குவதை உறுதிசெய்க. எல்லா முக்கிய வலை உலாவிகளும் HTTPS வழியாக HTTP/2 ஐ ஆதரிப்பதே இதற்குக் காரணம். உபுண்டு 20.04 இல் ஒரு உதாரணத்திற்கு சுட்டிக்காட்டப்பட்ட டொமைன் பெயர் என்னிடம் உள்ளது, இது நாம் குறியாக்க சான்றிதழ்.

மேலும், HTTP/2 க்கு மாற்ற விரும்பும் தயாரிப்பு சேவையகங்களுக்கான அப்பாச்சி 2.4.26 மற்றும் பிற பதிப்புகள் உங்களிடம் இருக்க பரிந்துரைக்கப்படுகிறது.

நீங்கள் இயங்கும் அப்பாச்சியின் பதிப்பைச் சரிபார்க்க, கட்டளையை இயக்கவும்:

$ apache2 -v

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

அப்பாச்சி மெய்நிகர் ஹோஸ்டில் HTTP/2 ஐ இயக்கவும்

தொடங்குவதற்கு, வெப்சர்வர் HTTP/1.1 இயங்குகிறது என்பதை முதலில் உறுதிப்படுத்தவும். Ctrl + SHIFT + I கலவையைப் பயன்படுத்தி Google chrome இல் டெவலப்பர் கருவிகள் பகுதியைத் திறப்பதன் மூலம் உலாவியில் இதைச் செய்யலாம். ‘நெட்வொர்க்’ தாவலைக் கிளிக் செய்து, ‘நெறிமுறை’ நெடுவரிசையைக் கண்டறியவும்.

அடுத்து, பின்வரும் கட்டளையை இயக்குவதன் மூலம் உபுண்டுவில் HTTP/2 தொகுதியை இயக்கவும்.

$ sudo a2enmod http2

அடுத்து, உங்கள் SSL மெய்நிகர் ஹோஸ்ட் கோப்பைக் கண்டுபிடித்து திருத்தவும், நீங்கள் HTTPS ஐ Let Encrypt ஐப் பயன்படுத்தி இயக்கியிருந்தால், புதிய கோப்பு le-ssl.conf பின்னொட்டுடன் உருவாக்கப்படுகிறது.

$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf

குறிச்சொல்லுக்குப் பிறகு கீழே உள்ள கட்டளையைச் செருகவும்.

Protocols h2 http/1.1

மாற்றங்களைச் சேமிக்க, அப்பாச்சி வெப்சர்வரை மறுதொடக்கம் செய்யுங்கள்.

$ sudo systemctl restart apache2

HTTP/2 இயக்கப்பட்டிருக்கிறதா என்று சோதிக்க, பின்வரும் சுருட்டை கட்டளையைப் பயன்படுத்தி HTTP தலைப்புகளைப் பெறுங்கள்.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

காட்டப்பட்ட வெளியீட்டை நீங்கள் பெற வேண்டும்.

HTTP/2 200

உலாவியில், உங்கள் தளத்தை மீண்டும் ஏற்றவும். டெவலப்பர் கருவிகளுக்குத் திரும்பி, ‘நெறிமுறை’ நெடுவரிசையில் h2 லேபிளால் குறிக்கப்பட்ட HTTP/2 ஐ உறுதிப்படுத்தவும்.

அப்பாச்சியுடன் mod_php தொகுதியைப் பயன்படுத்தும் போது

நீங்கள் mod_php தொகுதிடன் அப்பாச்சியை இயக்குகிறீர்கள் என்றால், நீங்கள் PHP-FPM க்கு மாற வேண்டும். ஏனென்றால், mod_php தொகுதி HTTP/2 ஆல் ஆதரிக்கப்படாத prefork MPM தொகுதியைப் பயன்படுத்துகிறது. நீங்கள் prefork MPM ஐ நிறுவல் நீக்கி, mTP_event தொகுதிக்கு மாற வேண்டும், இது HTTP/2 ஆல் ஆதரிக்கப்படும்.

நீங்கள் PHP 7.4 mod_php தொகுதியைப் பயன்படுத்துகிறீர்கள் என்றால், எடுத்துக்காட்டாக, காட்டப்பட்டுள்ளபடி அதை முடக்கு:

$ sudo a2dismod php7.4 

அதன்பிறகு, prefork MPM தொகுதியை முடக்கவும்.

$ sudo a2dismod mpm_prefork

தொகுதிகளை முடக்கிய பிறகு, அடுத்து, நிகழ்வு MPM, Fast_CGI மற்றும் setenvif தொகுதிக்கூறுகளை காண்பிக்கவும்.

$ sudo a2enmod mpm_event proxy_fcgi setenvif

உபுண்டுவில் PHP-FPM ஐ நிறுவவும்

அடுத்து, காட்டப்பட்டுள்ளபடி PHP-FPM ஐ நிறுவி தொடங்கவும்.

$ sudo apt install php7.4-fpm 
$ sudo systemctl start php7.4-fpm

துவக்க நேரத்தில் தொடங்க PHP-FPM ஐ இயக்கவும்.

$ sudo systemctl enable php7.4-fpm

அடுத்து, PHP-FPM ஐ அப்பாச்சியின் PHP கையாளுபவராக இயக்கி, மாற்றங்கள் செய்ய அப்பாச்சி வலை சேவையகத்தை மறுதொடக்கம் செய்யுங்கள்.

$ sudo a2enconf php7.4-fpm

அப்பாச்சி உபுண்டுவில் HTTP/2 ஆதரவை இயக்கவும்

முன்பு போலவே HTTP/2 தொகுதியை இயக்கவும்.

$ sudo a2enmod http2

எல்லா மாற்றங்களையும் ஒத்திசைக்க அப்பாச்சியை மறுதொடக்கம் செய்யுங்கள்.

$ sudo systemctl restart apache2

இறுதியாக, உங்கள் சேவையகம் காட்டப்பட்டுள்ளபடி சுருட்டை கட்டளையைப் பயன்படுத்தி HTTP/2 நெறிமுறையைப் பயன்படுத்துகிறதா என்பதை நீங்கள் சோதிக்கலாம்.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

முந்தைய ஆவணப்படுத்தப்பட்டபடி சரிபார்க்க Google Chrome உலாவியில் டெவலப்பர் கருவிகளைப் பயன்படுத்தவும் நீங்கள் தேர்வு செய்யலாம். இந்த வழிகாட்டியின் முடிவில் நாங்கள் இருக்க வேண்டும், நீங்கள் தகவலை மதிப்புமிக்கதாகக் கண்டறிந்தீர்கள் என்றும், அப்பாச்சியில் HTTP/2 ஐ நீங்கள் எளிதாக இயக்க முடியும் என்றும் நம்புகிறோம்.