تقدم هذه المقالة Java+Nginx لتنفيذ خدمات البريد الإلكتروني SMTP
مقدمة البيئة:
اسم المضيف: java.iternalsoft.com
IP: 192.168.2.163
الأدوار: OS Server OS: CentOS7
نقوم بتعديل معلومات الخادم المثبت حديثًا من خلال الأمر التالي:
مضيف setName CustomName تعديل اسم الكمبيوتر SystemCtl إيقاف تشغيل Firewalld.Serice SystemCtl تعطيل جدار الحماية.
بادئ ذي بدء ، قمنا بتثبيت خدمة NGINX.
yum installhttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
بعد تثبيت مستودع Repo ، بدأنا في تثبيت Nginx
يوم تثبيت nginx
بعد ذلك ، تحقق من المسار الافتراضي
/etc/nginx/nginx.conf
العثور على -NAME NGINX
بعد ذلك ، يتعين علينا تكوين ملف التكوين لـ NGINX
vim /etc/nginx/nginx.conf ملف التكوين الافتراضي
من أجل تسهيل الحاجة إلى مسح جميع المحتويات في ملف التكوين ، استخدم الأوامر التالية المراد إكمالها
echo> /etc/nginx/nginx.conf مسح المحتوى في nginx.conf
ولكن من أجل تكوين تكوين التكوين ، يوصى بالنسخ الاحتياطي أولاً
cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
ثم ركض مرة أخرى
echo> /etc/nginx/nginx.conf ملف التكوين المسطح
ثم قم بتحرير ملف التكوين مرة أخرى
vim /etc/nginx/nginx.conf
أضف الرمز التالي وحفظ محتوى الرمز وفقًا لبيئتك الخاصة.
المستخدم nginx ؛ /implus imap4rev1 ؛
لصق
بعد ذلك ، قم بتعيين خدمة nginx
SystemCTL تمكين Nginx.Service Nginx Service تفتح بدء التشغيل العشوائي
Systemctl ابدأ Nginx.Service Nginx Service Startup
SystemCtl حالة Nginx.Service Nginx تعمل
الخطوة التالية هي تثبيت بيئة تشغيل Java (JDK) وبيئة تشغيل Java وتثبيت Tomcat هنا
التأكيد الأول هو أن Linux عمومًا JDK مع بيئة Java الخاصة به
والخطوة التالية هي إعداد ملف JDK جديد.
uname -a
تحقق مما إذا كان الإصدار وأرقام النظام 32 أو 64 بت
إذا كان هناك x86_64 ، نظام التشغيل 64 بت ، إذا لم يكن كذلك ، فهو 32 بت
تنزيل وتثبيت JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
ويت
http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-linux-x64.gz؟authparam=1433902875_8682334c723cdbc5c9c9c9c9
نتحقق من الملف الذي تم تنزيله من خلال LS ، ثم نحتاج إلى إلغاء الضغط
TAR -ZXVF JDK1.8.0 ...... ..
DECIAIM وتكمل ، لا حاجة للتثبيت
ثم ندخل هذا المسار من خلال أمر القرص المضغوط
قم بإنشاء دليل من Java في/usr/، ثم نقل JDK إلغاء الضغط إلى الدليل
CD / USR / أدخل دليل USR
Mkdir Java ينشئ مجلد Java
ثم يمكننا نقل الدليل الحالي JDK1.8 .... DECIAIT الملف إلى دليل Java
1
mv jdk1.8.xx /usr /java
VIM /etc /ملف تعريف تحرير المتغيرات إضافة متغيرات البيئة
java_home =/usr/java/jdk1.8.0_45
jre_home =/usr/java/jdk1.8.0_45/jre
path = $ path: $ java_home/bin: $ jre_home/bin
classpath =.: $ java_home/lib/dt.jar: $ java_home/lib/tools.jar: $ jre_home/lib
تصدير java_home jre_home path classpath
لقد تركنا النظام بعد حفظه ، ثم إعادة تشغيل النظام ووجدنا أن إصدار JDK هو بالفعل الإصدار الجديد من التثبيت لدينا
التالي هو أننا نحتاج إلى تثبيت tomcat ، قم أولاً بتنزيله
http://tomcat.apache.org/download-80.cgi
بعد فتح موقع الويب الرسمي لـ Tomcat للعثور على حزمة التثبيت الصحيحة ، قم بالربط الأيمن لنسخ رابط التنزيل وتنزيله عبر الإنترنت من خلال wget
ويت
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
تحميل
بعد التنزيل ، يمكننا البدء في إلغاء الضغط
tar -zxvf apache_tomcat1.8. -0 tar.gz
إلغاء الضغط الكامل
نحتاج إلى نقل ملف Apache-Tomcat إلى/usr/
MV Apache-Tomcat /usr
بعد ذلك ، ابدأ خدمة Tomcat
Cd /usr/apache-tomcat18.0.23/bin
./startup.sh
ثم نتحقق من منفذ الخدمة المتعلقة بـ Tomcat
Netstat -nlpt
تحت CentOS7 ، تحتاج إلى تثبيت خدمة الأدوات الصافية بشكل منفصل
yum install -y net -times
netstat -nlpt
ثم نستخدم متصفح IE للوصول
يمكننا أيضًا تعديل منفذ الخدمة الافتراضي في Apache-Tomcat
تحت apache-tomcat/conf/server.xml
hashenv.put (context.security_authentication ، "Simple") ؛ hashenv. ) ؛ ":"+منفذ) ؛ ") ؛ system.out.println (" mailserver: " + attrs.get (" mailserver "). = attcn.split ("،" ، ") 0] .Split (" = ") [1]+". إرجاع attcn.split ("،" ، ") [0] .Split (" = ") [1] ؛ ثم نحتاج إلى تخصيص برنامج تشغيل Java ، في الواقع ، حزمة .WAR
بعد تحديد البرنامج ، سنقوم بتصدير رمز البرنامج كحزمة .WAR ، ثم نسخها إلى WebApp ضمن دليل التثبيت الخاص بـ tomcat بواسطة WINSCP أو Mount.
بعد بدء خدمة Tomcat ، يمكننا زيارة المتصفح للمطالبة بـ 500 صفحة.
بعد ذلك ، لدي مشكلة لاختبار الرمز ، لذلك سنختبره من خلال الأمر التالي:
Curl -h'auth -user: iiosoft '-h' Auth -Pass: 123 '-H' Auth -Protocol: pop3 '
http: // localhost: 8080/imail/index.jsp
يمكننا اختبارك عادة ، يمكنك إرجاع المعلومات مثل Auth-Sever و Auth-Status و Auth-Desors و Auth-Huth-Pass وغيرها من المعلومات ، لذلك لا توجد مشكلة. ولكن أثناء عملية التحقق ، وجد أنه لا يمكن التحقق من الكود ، والرمز ليس مشكلة بالفعل ، فكيف يمكن أن يفشل التحقق؟
بعد العثور على تأكيد البيانات ، يحتاج Nginx إلى العودة بواسطة LDAP أن خادم المصادقة يجب أن يكون عنوان IP للخادم.
hashenv.put (context.security_authentication ، "Simple") ؛ hashenv. ) ؛ ":"+منفذ) ؛ ") ؛ system.out.println (" mailserver: " + attrs.get (" mailserver "). = attrs.get ("mail"). get (). 0] .split ("=") [1]+". ، ") [0] .Split (" = ") [1] ؛ return inet4address.getByName (attserver) .gethostaddress (). toString () ؛ بعد ذلك ، يمكننا حل المشكلة عن طريق تعديل الكود:
كيفية حلها ، قبل تهيئتها ، فكرنا في الحصول على قيم MailAdders و MailAddrss على LDAP. A1.DUIN.com أخيرًا
بعد التحويل إلى IP ، نختبر مرة أخرى ؛
اختبرنا أيضًا من خلال Outlook
بعد النجاح ، نضيف تحليلًا إلى 192.168.2.163 إلى DNS ، ثم نختبره مرة أخرى من خلال اسم المجال. الملفات
الخادم {
الاستماع 25 ؛
بروتوكول SMTP ؛
SMTP_AUTH تسجيل الدخول.
xclient قبالة.
}
ملاحظة: نظرًا لأننا نضيف وكلاء SMTP تحت NGINX ، فإننا نضيف منطقة خادم SMTP
بعد أن نضيفه لإعادة تشغيل إعادة تشغيل المطالبة Nginx فشل
نعتقد أنه تم استخدام منفذ المطالبة ، وبدأت Postfix التي تأتي مع النظام
SystemCtl توقف postfix
SystemCTL تعطيل postfix
ثم نعيد تشغيل nginx
نختبر من خلال تكوين Outlook
ما سبق هو كل محتويات هذه المقالة.