JavaRush /جاوا بلاگ /Random-UR /ایپلیکیشن سرورز کا جائزہ اور یقینا Tomcat
eGarmin
سطح

ایپلیکیشن سرورز کا جائزہ اور یقینا Tomcat

گروپ میں شائع ہوا۔
محترم جاورشین، میں اس مضمون میں کس چیز پر غور کرنا چاہتا ہوں؟ میں صرف ایپلیکیشن سرورز کے اس حصے کا ایک مختصر جائزہ لینا چاہتا ہوں جو کم از کم توجہ کے مستحق ہیں کیونکہ وہ مفت ہیں اور ان کا سورس کوڈ دستیاب ہے۔ میں فرض کروں گا کہ آپ کا سسٹم میرے جیسا ہے۔ میرے پاس ونڈوز 7 64 بٹس ہیں، اس کے علاوہ میرے پاس JDK 1.7 اور JDK 1.8 ہے، اور JAVA_HOME ماحول کا متغیر ان میں سے بعد کا حوالہ دیتا ہے۔ میرے معاملے میں، اس کا مطلب ہے کہ JAVA_HOME کا راستہ C:\Program Files\Java\jdk1.8.0_31 ہے۔ ایپلیکیشن سرورز کا جائزہ اور یقیناً ٹامکیٹ - 1اس لیے جب آپ نیچے بیان کی گئی بات کو دہرائیں گے تو آپ کے پاس زیادہ سے زیادہ سوالات ہوں گے جیسے کہ "یہ میرے لیے کیوں کام نہیں کر رہا، شاید میں کچھ غلط کر رہا ہوں؟"، میں ہر اس عمل کو بیان کرنے کی کوشش کروں گا جو میں نے اپنے اوپر کیا تھا۔ آلہ. شروع کریں…

کاسٹنگ، یعنی انتخاب

پہلے ہمیں اپنے جائزے کے لیے ایپلیکیشن سرورز کو منتخب کرنے کی ضرورت ہے۔ ایسا کرنے کے لیے، ویکیپیڈیا آرٹیکل کو دیکھیں ایپلیکیشن سرورز کا موازنہ (انگریزی، کیونکہ کوئی دوسرا نہیں ہے)۔ ایپلیکیشن سرورز کے ایک گروپ کے ساتھ ایک نشانی موجود ہے، لیکن ہمارے لیے دلچسپی صرف وہی ہیں جو، ایک طرف، اوپن سورس ہیں، اور دوسری طرف، JavaEE کی مکمل حمایت کرتے ہیں، یعنی اس ٹیبل میں جاوا EE مطابقت والے کالم میں مکمل پلیٹ فارم کی قسم کی ایک لائن ہونی چاہیے ۔ اس فہرست سے، جس میں WildFly اور JBoss دونوں شامل ہیں، آپ فوری طور پر بعد میں پھینک سکتے ہیں، کیونکہ یہ صرف ایک پرانا نام اور WildFly کے پرانے ورژن ہیں ۔ نتیجے کے طور پر، ہمیں درج ذیل سرورز کی فہرست ملتی ہے جو ہماری توجہ کے مستحق ہیں:
  1. Glassfish (ملکیت نہیں، بلکہ glassfish.java.net کمیونٹی کی طرف سے ہے، لیکن جسے اوریکل کارپوریشن کے ذریعے اس حد تک سپورٹ کیا جاتا ہے کہ اگر آپ کو اوریکل ویب سائٹ سے javaEE SDK کی ضرورت ہے، تو وہ آپ کو یہ ایپلیکیشن سرور دیں گے، ورنہ اس کے علاوہ کوئی راستہ نہیں ہے)
  2. (ریڈ ہیٹ) وائلڈ فلائی (سابقہ ​​جے باس)
  3. (اپاچی)جیرونیمو
  4. ٹومکیٹ _ JavaEE، لیکن سب کچھ کام کرے گا یہ یا تو غلط ہوگا یا بالکل نہیں۔ میں Geronimo کی بات کر رہا ہوں، جس کی خامیوں پر طویل عرصے تک بات کی جا سکتی ہے)
اب آئیے ان سرورز کو پمپ کریں۔ جہاں 32 اور 64 بٹ ورژن کے درمیان انتخاب کرنا ممکن تھا، میں نے اپنے 64 بٹ سسٹم کے لیے آرکائیور کا انتخاب کیا۔

تنصیب

تنصیب کے لحاظ سے، سب کچھ آسان ہے اور منتخب کردہ سرورز میں سے ہر ایک کے لیے، تنصیب صرف آرکائیو کو کھولنا ہے۔ مثال کے طور پر، میں نے اپنے ڈیسک ٹاپ پر AppServers فولڈر بنایا، جہاں میں نے سب کچھ کھولنا شروع کیا۔

ترتیبات

آئیے HTTP پورٹ کو ترتیب دے کر سرورز کو ترتیب دینا شروع کریں جس پر یہ کام کرے گا۔ پھر ہم خود کو سرور ایڈمنسٹریٹر کے طور پر رجسٹر کریں گے۔ ہر سرور کی اپنی ترتیب کی خصوصیات ہیں۔ ٹامکیٹ کے لیے۔ ہم غیر پیک شدہ tomcat کے ساتھ فولڈر میں جاتے ہیں، پھر conf فولڈر ، server.xml فائل ۔ ہمیں اس فائل میں نمبر 8080 (پہلے سے طے شدہ HTTP پورٹ) ملتا ہے اور ہم جو چاہیں اسے تبدیل کر دیتے ہیں۔ میں نے اسے 9713 پر سیٹ کیا ۔ اپنے آپ کو سرور ایڈمنسٹریٹر کے طور پر رجسٹر کرنے کے لیے، آپ کو اسی فولڈر میں رہتے ہوئے tomcat-users.xml فائل کو کھولنا ہوگا ۔ اس میں، بند ہونے والے ٹیگ </tomcat-users> سے پہلے، درج ذیل ٹیگ کو شامل کریں <user username="egarmin" password="1" roles="manager-gui,manager-script,manager-status,manager-jmx"/ > جہاں آپ میں میں نے کرداروں کے لیے زیادہ سے زیادہ انتظامی حقوق (رول) تفویض کیے ہیں۔ یہ مجھے gui کے ذریعے اور ریموٹ کنکشن کے ذریعے ایپلیکیشنز کو تعینات کرنے کی اجازت دے گا۔ اب ٹامکیٹ لانچ کرتے ہیں۔ غیر پیک شدہ ٹامکیٹ والے فولڈر میں جائیں، پھر بن فولڈر میں جائیں اور startup.bat فائل کو چلائیں ۔ http://localhost:9713 پر براؤزر پر جائیں ۔ سب کچھ کام کرنا چاہیے اور ہم شیر کو دیکھیں گے۔ ٹامکیٹاب آئیے چیک کریں کہ کیا آپ کو ایڈمن پینل تک رسائی حاصل ہے۔ ایسا کرنے کے لیے، http://localhost:9713/manager پر جائیں ، منتخب لاگ ان اور پاس ورڈ درج کریں اور رسائی حاصل کریں۔ ٹامکیٹ میں ایڈمنسٹریٹرہورے! آپ ٹامکیٹ کو صرف اس کنسول کو بند کر کے عارضی طور پر غیر فعال کر سکتے ہیں جس میں یہ چل رہا ہے۔ گلاس فش کے لیے۔ غیر پیک شدہ گلاس فش والے فولڈر میں جائیں ، پھر گلاس فش سب فولڈر پر ، پھر ڈومینز سب فولڈر پر ، پھر ڈومین 1 فولڈر میں جائیں ۔ کنفگ فولڈر میں جائیں اور domain.xml فائل تلاش کریں ۔ وہاں ہم نمبر 8080 بھی تلاش کرتے ہیں (یہ نمبر عام طور پر ایپلیکیشن سرورز اور سرولیٹ کنٹینرز کے لیے ڈیفالٹ HTTP پورٹ ہوتا ہے) اور اسے جو چاہیں اس میں تبدیل کرتے ہیں۔ میں نے اسے 9813 پر سیٹ کیا ۔ آئیے گلاس فش لانچ کریں۔ غیر پیک شدہ گلاس فش والے فولڈر میں جائیں، پھر گلاس فش سب فولڈر پر ، پھر بن فولڈر میں جائیں ۔ startserv.bat فائل کو چلائیں ۔ براؤزر میں ایڈریس درج کریں http://localhost:9813 ۔ GlassFish Server کے عنوان کے ساتھ ظاہر ہونے والے بدصورت صفحہ پر ، ایڈمنسٹریشن کنسول پر جانے کے لیے لنک تلاش کریں اور اس پر کلک کریں۔ پہلے GlassFish میں لاگ ان کریں۔اس کے بعد، JSF پر بنائے گئے انتظامی کنسول کے خوبصورت صفحے پر جانے کے بعد، ایڈمنسٹریٹر پاس ورڈ تبدیل کریں گلاس فش میں ایڈمنسٹریٹر آئٹم پر کلک کریں اور ایڈمن صارف کے لیے ہمیں مطلوبہ پاس ورڈ درج کریں ، پھر اس کی تصدیق کریں اور محفوظ کریں بٹن پر کلک کریں۔. GlassFish میں اپنا پاس ورڈ تبدیل کرناجب آپ بعد میں ایڈمنسٹریٹو کنسول میں لاگ ان ہوتے ہیں، تو آپ کو ایڈمن لاگ ان اور مخصوص پاس ورڈ درج کرنے کی ضرورت ہوگی۔ پاس ورڈ کا استعمال کرتے ہوئے GlassFish ایڈمن پینل میں لاگ ان کریں۔اب آپ Glassfish کو صرف اس کنسول کو بند کر کے عارضی طور پر غیر فعال کر سکتے ہیں جس میں یہ چل رہا ہے۔ وائلڈ فلائی کے لیے۔ غیر پیک شدہ وائلڈ فلائی کے ساتھ فولڈر میں جائیں ۔ اس کے بعد، اسٹینڈ ایلون فولڈر پر جائیں ، پھر کنفیگریشن فولڈر ، اور اس میں standalone.xml فائل ۔ اگلا ہم قائم کردہ اسکیم کے مطابق آگے بڑھتے ہیں۔ میں نے پورٹ کو 9913 پر سیٹ کیا ۔ آئیے سرور شروع کریں۔ ایسا کرنے کے لیے، آئیے unpacked wildfly کے ساتھ فولڈر میں جائیں ۔ اگلا، بن فولڈر میں جائیں اور فائل چلائیں standalone.bat ۔ براؤزر کھولیں اور ایڈریس درج کریں http://localhost:9913 ۔ ایڈمن کنسول میں داخل ہونے کے لیے ایڈمنسٹریشن کنسول کےپہلے وائلڈ فلائی میں لاگ ان کریں۔ لنک پر کلک کریں (دوسرے الفاظ میں، ایپلیکیشن سرور کا ایڈمن پینل)۔ لیکن ایسا نہیں تھا، کیونکہ... سکرین پاپ اپ. یہ اسکرین ہمیں بتاتی ہے کہ ایڈمن نہیں بنایا گیا ہے، اور اسے بنانے کے لیے ہمیں کنسول یوٹیلیٹی add-user.bat استعمال کرنے کی ضرورت ہے ۔ ٹھیک ہے، اگر یہ ضروری ہے، یہ ضروری ہے. ہم بن فولڈر میں واپس آتے ہیں اور اس یوٹیلیٹی کو چلاتے ہیں۔ سب سے پہلے، آپ کو صارف کی قسم منتخب کرنے کے لیے کہا جائے گا جسے ہم بنانا چاہتے ہیں۔ ہمیں آئٹم (a) کو منتخب کرنے کی ضرورت ہے ، جس کا مطلب یہ ہوگا کہ ہمیں ایک منتظم کی ضرورت ہے۔ پھر آپ سے اس صارف کا نام یوزر نیم اور پاس ورڈ پاس ورڈ طلب کیا جاتا ہے ۔ پاس ورڈ خالی نہیں ہو سکتا، لیکن ایک حرف خوش آئند ہے۔ یوٹیلیٹی یقیناً ڈانٹے گی، لیکن اگر آپ اس سوال کا جواب ہاں میں دیتے ہیں تو "کیا آپ کو یقین ہے؟" اس کے بعد، دوبارہ درج پاس ورڈ کی درخواست دوبارہ درج کرکے پاس ورڈ کی تصدیق کریں ۔ اس کے بعد مزید سوالات ہوں گے، لیکن ہم صرف ان سب کا اثبات میں جواب دیتے ہیں اور افادیت سے باہر نکل جاتے ہیں۔ اوپر والے صفحے پر واپس آتے ہوئے، دوبارہ کوشش کرنے کا لنک تلاش کریں اور اس پر کلک کریں۔ اب، نئے بنائے گئے ایڈمن کی تفصیلات درج کرکے، آپ ایڈمن پینل تک جا سکتے ہیں۔ ہم کنسول ونڈو کو بند کر کے سرور کو بند کر دیتے ہیں جس کے ذریعے اسے لانچ کیا گیا تھا۔ Geronimo کے لیے۔ غیر پیک شدہ geronimo کے ساتھ فولڈر میں جائیں ۔ اس کے بعد، var سب فولڈر پر جائیں ، پھر config فولڈر پر جائیں ، اور اس میں config-substitutions.properties فائل ۔ یہ فائل ایپلی کیشن سرور کے ذریعہ استعمال کردہ تمام بندرگاہوں کو ایک آسان فارمیٹ میں بیان کرتی ہے، لیکن بندرگاہ کی تبدیلی کی اسکیم ایک جیسی ہے۔ میں نے پورٹ کو 10013 پر سیٹ کیا ہے ۔ آئیے geronimo سرور شروع کرتے ہیں ۔ آئیے unpacked geronimo والے فولڈر میں جائیں ، پھر bin سب فولڈر پر جائیں اور startup.bat فائل کو وہاں چلائیں ۔ صفحہ http://localhost:10013 پر جائیں۔پہلے وائلڈ فلائی ایڈمن پینل میں لاگ ان کریں۔وائلڈ فلائی میں ایڈمنسٹریٹر. آپ کیا سوچتے ہیں؟ زیادہ امکان ہے کہ صفحہ وہاں نہیں ہوگا۔ کیوں؟ بات یہ ہے کہ Geronimo (3.0) کا تازہ ترین ورژن JDK (1.8) کے تازہ ترین ورژن کے ساتھ کام نہیں کر سکتا، لہذا اگر آپ کے پاس صرف یہ ہے یا آپ کے پاس ہے تو کہہ لیں، 7 واں ورژن، لیکن JAVA_HOME ماحولیاتی متغیر پھر بھی خاص طور پر حوالہ دیتا ہے۔ آٹھویں، میری طرح، ایپلیکیشن سرور شروع نہیں ہوگا۔ اس طرح، Geronimo کے کام کرنے کے لیے، آپ کو JDK 1.7 ڈاؤن لوڈ کرنا ہوگا۔ اب ہم کہتے ہیں کہ آپ نے 7 واں JDK انسٹال کیا ہے، لیکن JAVA_HOME متغیر کی قدر کو تبدیل نہیں کرنا چاہتے (آخر کار، دوسرے پروگرام اس کے بارے میں شکایت نہیں کرتے، جس کا مطلب ہے کہ وہ JDK کے تازہ ترین ورژن کے ساتھ کام کر سکتے ہیں)۔ کیا کرنا ہے؟ میں اسی بن فولڈر میں موجود setjavaenv.bat فائل کو کھولنے اور لیبل والی لائن تلاش کرنے کی تجویز کرتا ہوں :okJdkFileCheck ۔ پھر اگلی لائن پر ایک ماحولیاتی متغیر اوور رائڈ شامل کریں۔ مثال کے طور پر، اس طرح: سیٹ JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 یہ لائن وہاں نہیں ہے، لہذا براہ کرم اسے خود لکھیں۔ اگر آپ کے پاس 32 بٹ سسٹم ہے، تو مزید پریشانی نہیں ہونی چاہیے۔ مزید یہ کہ، اگر آپ کے پاس 64 بٹ سسٹم ہے اور آپ نے 64 بٹ کنفیگریشن میں JDK 1.7 انسٹال کیا ہے، تو آپ کے لیے بھی سب کچھ ٹھیک ہے۔ اب آئیے تصور کریں کہ ہم نے 64 بٹ سسٹم (مثال کے طور پر، ونڈوز 7 64) پر 32 بٹ لائن سے JDK 1.7 کو بگاڑنے اور انسٹال کرنے کا فیصلہ کیا ہے۔ پھر کیا؟ اس کے بعد آپ کو کچھ اور ٹنکر کرنا پڑے گا، کیونکہ 64 بٹ سسٹم میں پروگراموں کو انسٹال کرنے کے لیے دو فولڈر ہوتے ہیں: پروگرام فائلز اور پروگرام فائلز (x86) اور اگر آپ کچھ بھی تبدیل نہیں کرتے ہیں تو 32 بٹ JDK فولڈر میں چلا جائے گا۔ بعد میں اس میں اتنی ڈرنے والی کیا بات ہے؟ ہاں، یہ ٹھیک لگتا ہے، تاہم، اگر JAVA_HOME متغیر کے راستے (x86) میں بریکٹ ہیں، تو Geronimo کو بدہضمی ہو جاتی ہے۔ کیوں؟ خدا جانتا ہے، خاص طور پر اس بات پر غور کرتے ہوئے کہ فورمز کے مطابق، اس غلطی کو Geronimo کے ورژن 3 میں ٹھیک کیا جانا چاہیے تھا ۔ لیکن ایسا کچھ نہیں۔ اس معاملے میں اصل چیز پیشاب کرنا نہیں ہے، اگر ہندوستانیوں نے اسے درست نہیں کیا تو ہم اسے درست کریں گے۔ ایسا کرنے کے دو طریقے ہیں، جن کو میں صرف یقینی بنانے کے لیے اکٹھا کرنا پسند کرتا ہوں۔ سب سے پہلے، دوبارہ setjavaenv.bat فائل پر جائیں اور پہلے سے ذکر کردہ لیبل تلاش کریں :okJdkFileCheck ۔ اس لیبل کے نیچے ایک لائن ہے if "%JRE_HOME%" == "" اگر موجود ہے "%JAVA_HOME%\bin\javac.exe" (سیٹ JRE_HOME=%JAVA_HOME%\jre) ورنہ JRE_HOME=%JAVA_HOME% سیٹ کریں جس میں cure Geronimo سبسٹرنگ JRE_HOME=%JAVA_HOME%\jre کو کوٹس میں ڈالنا کافی ہوگا، یعنی پوری لائن کو اگر "%JRE_HOME%" == "" سے تبدیل کریں اگر موجود ہے "%JAVA_HOME%\bin\javac.exe" (سیٹ "JRE_HOME=%JAVA_HOME%\jre") اور JRE_HOME=%JAVA_HOME% سیٹ کریں ۔ اس کے علاوہ، یاد رکھیں یا آگاہ رہیں کہ ونڈوز 7 میں پروگرام فائلز جیسے فولڈر میں مترادفات ہیں (مثال کے طور پر، فولڈر C کے لیے:C:\Progra~2 )۔ لہذا، اگر آپ فائل میں setjavaenv.bat لیبل کے بعد :okJdkFileCheck متغیر JAVA_HOME سیٹ JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75 کے بعد درج ذیل ویلیو سیٹ کریں تو آپ کے پاس ایک Geronimo سرور بھی ہوگا جو 32 چلا رہا ہے۔ -bit JDK 64 بٹ x بٹ آپریٹنگ سسٹم میں۔ کچھ اس طرح... ٹھیک ہے، آخر میں، آپ startup.bat پر کال کر کے Geronimo لانچ کر سکتے ہیں ۔ اب کوئی مسئلہ نہیں ہونا چاہیے۔ براؤزر میں صفحہ http://localhost:10013 پر جائیں ۔ اوپر بائیں طرف، کنسول لنک تلاش کریں اور اس پر کلک کریں۔ آپ کو اپنا منتظم صارف نام اور پاس ورڈ درج کرنے کی ضرورت ہے۔ میں آپ کو فوراً بتاتا چلوں کہ یہ پاس ورڈ مینیجر (ڈیفالٹ ویلیوز) والا سسٹم صارف ہے۔ کنسول میں خود جا کر اور مینو آئٹمز کی پیروی کر کے جیسا کہ نیچے دی گئی تصویر میں ہے ( ایڈوانسڈ ریڈیو بٹن کو منتخب کریں ، پھر سیکیورٹی > صارفین اور گروپس کو منتخب کریں)، آپ یا تو سسٹم صارف کے لیے پاس ورڈ تبدیل کر سکتے ہیں ، یا دوسرا ایڈمن صارف بنا سکتے ہیں، اور اس کو حذف کریں. آپ Geronimo سرور کو صرف کنسول ونڈو کو بند کر کے بھی روک سکتے ہیں جس میں سرور چل رہا تھا۔ جیرونیموپاس ورڈ کا استعمال کرتے ہوئے Geronimo ایڈمن ایریا میں لاگ ان کریں۔Geronimo میں اپنا پاس ورڈ تبدیل کرنا

نتیجہ

اس جائزے میں، میں نے بنیادی طور پر مقبول ایپلیکیشن سرورز اور ٹامکیٹ سرولیٹ کنٹینر کی تنصیب اور ابتدائی ترتیب سے گزرا۔ Geronimo کے استثنا کے ساتھ، باقی سرورز میرے ساتھ بہت دوستانہ اور مہمان نواز تھے۔ اگلی پوسٹ میں، میں ایپلیکیشن سرورز پر غور کرنا جاری رکھوں گا اور ویب سروسز پر غور کرنے کی طرف تیسرا قدم اٹھاؤں گا، یعنی میں دکھاؤں گا کہ ان سرورز میں پہلے مرحلے میں بیان کردہ ویب سروس کو کیسے تعینات کیا جائے ۔ ایسا کرنے کے لیے، ہم اپنی ویب سروس کا ایک وار آرکائیو بنائیں گے، اور میں واضح طور پر دکھاؤں گا کہ تیسرے فریق کے جار کا سیٹ جو سروس کے صحیح طریقے سے کام کرنے کے لیے اس آرکائیو میں شامل کیا جانا چاہیے، سرور سے دوسرے سرور میں بہت مختلف ہوتا ہے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION