عزيزي جافاراشينز، ما الذي أريد أخذه بعين الاعتبار في هذه المقالة؟ أريد فقط أن أقدم نظرة عامة قصيرة على ذلك الجزء من خوادم التطبيقات التي تستحق الاهتمام على الأقل لأنها مجانية ورمز المصدر الخاص بها متاح. سأفترض أن نظامك مشابه لنظامي. لدي نظام التشغيل Windows 7 64 بت، بالإضافة إلى ذلك لدي JDK 1.7 وJDK 1.8، ويشير متغير البيئة
JAVA_HOME إلى الأخير منهما. في حالتي، هذا يعني أن المسار
JAVA_HOME هو
C:\Program Files\Java\jdk1.8.0_31. بحيث عندما تكرر ما هو موضح أدناه، يكون لديك أقل عدد ممكن من الأسئلة مثل "لماذا لم ينجح الأمر بالنسبة لي، ربما أفعل شيئًا خاطئًا؟"، سأحاول وصف كل إجراء قمت به على جهازي آلة. يبدأ…
صب، أي. اختيار
نحتاج أولاً إلى تحديد خوادم التطبيقات لمراجعتنا. للقيام بذلك، انظر إلى مقالة ويكيبيديا
مقارنة خوادم التطبيقات (باللغة الإنجليزية، لأنه لا يوجد خادم آخر). هناك علامة مع مجموعة من خوادم التطبيقات، ولكن ما يهمنا هو فقط تلك التي تكون مفتوحة المصدر من ناحية، ومن ناحية أخرى، تدعم JavaEE بالكامل، أي. يجب أن يحتوي عمود
توافق Java EE الموجود في هذا الجدول على سطر من النوع
Full Platform . من هذه القائمة، التي تحتوي على كل من
WildFly و
JBoss ، يمكنك التخلص من الأخير على الفور، لأنه إنه مجرد اسم قديم وإصدارات قديمة
من WildFly . ونتيجة لذلك، حصلنا على القائمة التالية من الخوادم التي تستحق اهتمامنا:
- Glassfish (ليست ملكية خاصة، ولكنها موجودة في مجتمع glassfish.java.net ، ولكنها مدعومة من قبل شركة Oracle Corporation إلى حد أنه إذا كنت بحاجة إلى javaEE SDK من موقع Oracle على الويب، فسوف يعطونك خادم التطبيق هذا، وإلا لا توجد وسيلة أخرى)
- (ريد هات) وايلد فلاي (JBoss سابقًا)
- (أباتشي) جيرونيمو
- (Apache) Tomcat (هذه مجرد حاوية servlet، وليست خادم تطبيقات، ولكنها المعيار الذي إذا تمت كتابة البرنامج بشكل صحيح، فإنه سيعمل بالتأكيد. وعلى الخوادم الأخرى، قد تتم كتابة البرنامج بشكل صحيح من حيث JavaEE، ولكن كل شيء سيعمل، إما أن يكون غير صحيح أو لا على الإطلاق. أنا أتحدث عن Geronimo، مواطن الخلل التي يمكن مناقشتها لفترة طويلة)
الآن دعونا نضخ هذه الخوادم.
حيث كان من الممكن الاختيار بين الإصدارين 32 و64 بت، فقد اخترت أرشيفًا لنظام 64 بت الخاص بي.
تثبيت
فيما يتعلق بالتثبيت، كل شيء بسيط ولكل خادم من الخوادم المحددة، التثبيت هو ببساطة تفريغ الأرشيف. على سبيل المثال، قمت بإنشاء مجلد AppServers على سطح المكتب، حيث بدأت في تفريغ كل شيء.
إعدادات
لنبدأ في إعداد الخوادم من خلال إعداد منفذ HTTP الذي ستعمل عليه. ثم سنقوم بتسجيل أنفسنا كمسؤول الخادم. كل خادم لديه ميزات التكوين الخاصة به.
من أجل تومكات. نذهب إلى المجلد الذي يحتوي على Tomcat غير المعبأ، ثم مجلد
conf ، وملف
server.xml .
نجد الرقم 8080 (منفذ http الافتراضي) في هذا الملف ونغيره إلى ما نريد. لقد قمت بضبطه على
9713 .
لتسجيل نفسك كمسؤول خادم، تحتاج إلى فتح ملف Tomcat-users.xml أثناء وجودك في نفس المجلد . فيه، قبل علامة الإغلاق
</tomcat-users>، أضف العلامة التالية
<user username = "egarmin" كلمة المرور = "1" role = "manager-gui,manager-script,manager-status,manager-jmx"/ > حيث قمت بتعيين الحد الأقصى لعدد الحقوق (الأدوار) الإدارية للأدوار. سيسمح لي هذا بنشر التطبيقات من خلال واجهة المستخدم الرسومية ومن خلال الاتصال عن بعد. الآن دعونا نطلق القط. انتقل إلى المجلد الذي يحتوي على Tomcat الذي تم فك حزمته، ثم إلى مجلد
bin وقم بتشغيل ملف
startup.bat . انتقل إلى المتصفح على
http://localhost:9713 . كل شيء يجب أن يعمل وسنرى النمر.
الآن دعونا نتحقق مما إذا كان لديك حق الوصول إلى لوحة الإدارة. للقيام بذلك، انتقل إلى
http://localhost:9713/manager ، وأدخل معلومات تسجيل الدخول وكلمة المرور المحددة واحصل على حق الوصول.
مرحبًا! يمكنك تعطيل Tomcat مؤقتًا بمجرد إغلاق وحدة التحكم التي يعمل بها.
للأسماك الزجاجية. انتقل إلى المجلد الذي يحتوي على
السمكة الزجاجية التي تم فك حزمتها ، ثم إلى المجلد الفرعي
للسمكة الزجاجية ، ثم إلى المجلد الفرعي
للمجالات ، ثم إلى المجلد
domain1 . انتقل إلى مجلد
التكوين وابحث عن ملف
domain.xml . هناك أيضًا نبحث عن الرقم
8080 (هذا الرقم هو بشكل عام منفذ HTTP الافتراضي لخوادم التطبيقات وحاويات servlet) ونغيره إلى ما نريد. لقد قمت بضبطه على
9813 . دعونا نطلق السمكة الزجاجية. انتقل إلى المجلد الذي يحتوي على السمكة الزجاجية التي تم فك حزمتها، ثم إلى المجلد الفرعي
للسمكة الزجاجية ، ثم إلى مجلد
السلة . قم بتشغيل ملف
startserv.bat . في المتصفح، أدخل العنوان
http://localhost:9813 . في الصفحة القبيحة التي تظهر بعنوان
GlassFish Server، ابحث عن الرابط
للانتقال إلى وحدة التحكم الإدارية وانقر عليه.
بعد ذلك، بعد الوصول إلى الصفحة الجميلة لوحدة التحكم الإدارية المبنية على JSF، انقر فوق عنصر
تغيير كلمة مرور المسؤول وأدخل كلمة المرور التي نحتاجها للمستخدم
المسؤول ، ثم قم بتأكيدها وانقر فوق الزر
"حفظ".
عند تسجيل الدخول لاحقًا إلى وحدة التحكم الإدارية، ستحتاج إلى إدخال معلومات تسجيل دخول
المسؤول وكلمة المرور المحددة.
يمكنك الآن تعطيل
Glassfish مؤقتًا بمجرد إغلاق وحدة التحكم التي يعمل بها.
من أجل وايلد فلاي. انتقل إلى المجلد الذي يحتوي على ملف
Wildfly الذي تم فك حزمته . بعد ذلك، انتقل إلى المجلد
المستقل ، ثم مجلد
التكوين ، وفيه ملف
standalone.xml . بعد ذلك نمضي قدمًا وفقًا للمخطط المحدد. لقد قمت بتعيين المنفذ على
9913 . لنبدأ الخادم. للقيام بذلك، دعنا نذهب إلى المجلد الذي يحتوي على ملف
Wildfly الذي تم فك حزمته . بعد ذلك، انتقل إلى مجلد
bin وقم بتشغيل الملف
standalone.bat . افتح المتصفح وأدخل العنوان
http://localhost:9913 .
انقر فوق رابط
وحدة التحكم الإدارية للدخول إلى وحدة تحكم المسؤول (وبعبارة أخرى، لوحة الإدارة لخادم التطبيق). لكن الأمر لم يكن كذلك، لأنه... تنبثق الشاشة.
تخبرنا هذه الشاشة أنه لم يتم إنشاء المشرف، ولإنشائه نحتاج إلى استخدام الأداة المساعدة لوحدة التحكم
add-user.bat . حسنًا، إذا كان الأمر ضروريًا، فهو ضروري. نعود إلى مجلد
bin ونقوم بتشغيل هذه الأداة المساعدة. أولاً، سيُطلب منك تحديد نوع المستخدم الذي نريد إنشاءه. نحن بحاجة إلى تحديد العنصر
(أ) ، وهو ما يعني أننا بحاجة إلى المشرف. ثم يطلب منك اسم هذا المستخدم
اسم المستخدم وكلمة المرور
كلمة المرور . لا يمكن أن تكون كلمة المرور فارغة، ولكن نرحب بحرف واحد. ستوبخ الأداة المساعدة بالطبع، لكنها ستبتلعها إذا أجبت بنعم على السؤال "هل أنت متأكد؟" بعد ذلك، قم بتأكيد كلمة المرور عن طريق إعادة إدخال طلب
إعادة إدخال كلمة المرور . ثم سيكون هناك المزيد من الأسئلة، لكننا ببساطة نجيب عليها جميعا بالإيجاب والخروج من الأداة المساعدة. بالعودة إلى الصفحة أعلاه، ابحث عن رابط
"المحاولة مرة أخرى" وانقر عليه. الآن، من خلال إدخال تفاصيل المسؤول الذي تم إنشاؤه حديثًا، يمكنك الوصول إلى لوحة الإدارة.
قمنا بإغلاق الخادم عن طريق إغلاق نافذة وحدة التحكم التي تم إطلاقه من خلالها.
لجيرونيمو. انتقل إلى المجلد الذي يحتوي على
ملف geronimo . بعد ذلك، انتقل إلى المجلد
الفرعي var ، ثم إلى مجلد
config ، وفيه ملف
config-substitutions.properties . يصف هذا الملف جميع المنافذ التي يستخدمها خادم التطبيق بتنسيق مناسب، ولكن مخطط استبدال المنفذ هو نفسه. لقد قمت بتعيين المنفذ على
10013 . لنبدأ خادم
جيرونيمو . دعنا ننتقل إلى المجلد الذي يحتوي على
geronimo الذي تم فك حزمته ، ثم إلى المجلد الفرعي
bin ونقوم بتشغيل ملف
startup.bat هناك . انتقل إلى الصفحة
http://localhost:10013. ماذا تعتقد؟ على الأرجح، الصفحة لن تكون هناك. لماذا؟ الأمر هو أن أحدث إصدار من Geronimo (3.0) لا يمكنه العمل مع أحدث إصدار من JDK (1.8)، لذلك إذا كان لديك فقط أو حتى، على سبيل المثال، الإصدار السابع، ولكن متغير البيئة JAVA_HOME لا يزال يشير على وجه التحديد إلى ثامنًا، مثل خادمي، لن يبدأ تشغيل خادم التطبيقات. وبالتالي، لكي يعمل Geronimo، يجب عليك تنزيل JDK 1.7. لنفترض الآن أنك قمت بتثبيت JDK السابع، لكنك لا ترغب في تغيير قيمة متغير JAVA_HOME (بعد كل شيء، لا تشتكي البرامج الأخرى منه، مما يعني أنها يمكن أن تعمل مع أحدث إصدار من JDK). ما يجب القيام به؟ أوصي بفتح ملف
setjavaenv.bat الموجود في نفس مجلد
الحاوية والبحث عن السطر المسمى
:okJdkFileCheck . ثم في السطر التالي أضف تجاوز متغير البيئة. على سبيل المثال، مثل هذا:
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 هذا السطر غير موجود، لذا يرجى كتابته بنفسك. إذا كان لديك نظام 32 بت، فلا ينبغي أن يكون هناك المزيد من المشاكل. علاوة على ذلك، إذا كان لديك نظام 64 بت وقمت بتثبيت JDK 1.7 بتكوين 64 بت، فكل شيء على ما يرام بالنسبة لك أيضًا. لنتخيل الآن أننا قررنا أن نكون منحرفين ونقوم بتثبيت JDK 1.7 من سطر 32 بت على نظام 64 بت (لدي، على سبيل المثال، Windows 7 64). ماذا بعد؟ بعد ذلك سيتعين عليك إجراء المزيد من التعديلات، لأنه يوجد في نظام 64 بت مجلدان لتثبيت البرامج:
Program Files و
Program Files (x86) وإذا لم تقم بتغيير أي شيء، فسوف ينتقل JDK 32 بت إلى المجلد أخير. ما المخيف في ذلك؟ نعم، يبدو الأمر جيدًا، ولكن إذا كان متغير JAVA_HOME يحتوي على أقواس في مساره (x86)، فإن Geronimo يعاني من عسر الهضم. لماذا؟ والله أعلم، خاصة مع الأخذ في الاعتبار أنه وفقًا للمنتديات، كان يجب إصلاح هذا الخطأ في الإصدار 3 من
Geronimo . ولكن لا شيء من هذا القبيل. الشيء الرئيسي في هذا الأمر هو عدم التبول، إذا لم يصححه الهنود، فسوف نصححه. هناك طريقتان للقيام بذلك، أفضل دمجهما للتأكد فقط. أولاً، انتقل مرة أخرى إلى ملف
setjavaenv.bat وابحث عن التسمية المذكورة بالفعل
:okJdkFileCheck . يوجد أسفل هذه التسمية سطر
إذا كان "%JRE_HOME%" == "" إذا كان موجودًا "%JAVA_HOME%\bin\javac.exe" (اضبط JRE_HOME=%JAVA_HOME%\jre) وإلا قم بتعيين JRE_HOME=%JAVA_HOME% الذي سيتم فيه علاج Geronimo سيكون كافيًا وضع السلسلة الفرعية JRE_HOME=%JAVA_HOME%\jre بين علامتي الاقتباس، أي. استبدل السطر بأكمله بـ
if "%JRE_HOME%" == "" إذا كان موجودًا "%JAVA_HOME%\bin\javac.exe" (اضبط "JRE_HOME=%JAVA_HOME%\jre") وإلا قم بتعيين JRE_HOME=%JAVA_HOME% . تذكر أيضًا أو انتبه إلى أن المجلدات مثل Program Files في Windows 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 بت × بت. شيء من هذا القبيل... حسنًا، أخيرًا، يمكنك تشغيل
Geronimo عن طريق الاتصال بـ
startup.bat . الآن لا ينبغي أن يكون هناك أي مشاكل.
انتقل إلى الصفحة http://localhost:10013 في المتصفح . في الجزء العلوي الأيسر، ابحث عن رابط
وحدة التحكم وانقر عليه.
تحتاج إلى إدخال اسم المستخدم وكلمة المرور الخاصين بالمسؤول. دعني أخبرك على الفور أن هذا هو مستخدم
النظام الذي لديه مدير كلمات المرور (القيم الافتراضية).
بالانتقال إلى وحدة التحكم نفسها واتباع عناصر القائمة كما في الصورة أدناه (حدد زر الاختيار
متقدم ، ثم حدد
الأمان > المستخدمون والمجموعات )، يمكنك إما تغيير كلمة المرور لمستخدم
النظام ، أو إنشاء مستخدم مسؤول آخر، و حذف هذا واحد.
يمكنك أيضًا إيقاف خادم
Geronimo بمجرد إغلاق نافذة وحدة التحكم التي كان الخادم يعمل بها.
خاتمة
في هذه المراجعة، قمت للتو بمراجعة التثبيت والتكوين الأولي لخوادم التطبيقات الشائعة وحاوية Tomcat servlet. باستثناء جيرونيمو، كان باقي الخوادم ودودين للغاية ومضيافين معي. في المقالة التالية، سأستمر في النظر في خوادم التطبيقات واتخاذ الخطوة الثالثة نحو النظر في خدمات الويب، أي سأوضح كيفية نشر خدمة الويب الموضحة
في الخطوة الأولى في هذه الخوادم. للقيام بذلك، سنقوم بإنشاء أرشيف حربي لخدمة الويب الخاصة بنا، وسأوضح بوضوح أن مجموعة جرة الطرف الثالث التي يجب تضمينها في هذا الأرشيف حتى تعمل الخدمة بشكل صحيح تختلف بشكل كبير من خادم إلى آخر.
GO TO FULL VERSION