บทความนี้แนะนำ Java+Nginx เพื่อใช้ POP, IMAP, SMTP Mailbox Email Services
การแนะนำสภาพแวดล้อม:
ชื่อโฮสต์: java.iternalsoft.com
IP: 192.168.2.163
บทบาท: พร็อกซีเซิร์ฟเวอร์ OS: CentOS7
เราแก้ไขข้อมูลเซิร์ฟเวอร์ที่ติดตั้งใหม่ผ่านคำสั่งต่อไปนี้:
Hostnamectl SetName CustomName แก้ไขชื่อคอมพิวเตอร์ Systemctl Stop Firewalld.Serice Systemctl ปิดการใช้งานไฟร์วอลล์ Service
ก่อนอื่นเราติดตั้งบริการ Nginx
yum installhttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
หลังจากติดตั้งคลังสินค้า repo เราเริ่มติดตั้ง nginx
yum ติดตั้ง 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; /imail/index.jsp; {ฟัง 110;แปะ
ถัดไปตั้งค่าบริการ nginx
SystemCTL เปิดใช้งาน NGINX.Service Nginx Service เปิดการเริ่มต้นแบบสุ่ม
Systemctl Start Nginx.Service Nginx เริ่มต้นบริการ
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_8682334C723CDBC5C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
เราตรวจสอบไฟล์ที่ดาวน์โหลดผ่าน LS แล้วเราต้องคลายการบีบอัด
tar -zxvf jdk1.8.0 ...... ..
ประกาศและสมบูรณ์ไม่จำเป็นต้องติดตั้ง
จากนั้นเราป้อนเส้นทางนี้ผ่านคำสั่ง cd
สร้างไดเรกทอรีของ Java in/usr/จากนั้นย้าย jdk ที่บีบอัดไปยังไดเรกทอรี
CD / USR / ป้อนไดเรกทอรี USR
Mkdir Java สร้างโฟลเดอร์ Java
จากนั้นเราสามารถย้ายไดเรกทอรีปัจจุบัน jdk1.8 .... ประกาศไฟล์ไปยังไดเรกทอรี Java
1
mv jdk1.8.xx /usr /java
vim /etc /profile แก้ไขสภาพแวดล้อมตัวแปรเพิ่มตัวแปรสภาพแวดล้อม
java_home =/usr/java/jdk1.8.0_45
jre_home =/usr/java/jdk1.8.0_45/jre
เส้นทาง = $ 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 คุณต้องติดตั้งบริการ Net-Tools แยกกัน
yum ติดตั้ง -y net -times
netstat -nlpt
จากนั้นเราใช้ IE Browser เพื่อเข้าถึง
นอกจากนี้เรายังสามารถแก้ไขพอร์ตบริการเริ่มต้นของ Apache-tomcat
ภายใต้ apache-tomcat/conf/server.xml
hashenv.put (context.security_authentication, "simple"); Hashenv ); ":" พอร์ต); "); System.out.println (" Mailserver: " + attrs.get (" Mailserver "). get ()); String attdomain = attrs.get (" Mail "). get (). toString (); string attserver; = attcn.split (",", ") 0] .split (" = ") [1]+". "+attdomain.substring (attdomain.indexof ("@")+1); ss ())); return attcn.split (",", ") [0] .split (" = ") [1]; จากนั้นเราจำเป็นต้องปรับแต่งโปรแกรม Java Running อันที่จริงแล้วแพ็คเกจ. 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-Sew, Auth-Status, Auth-Auth-Ports, Auth-heat-Pass และข้อมูลอื่น ๆ ดังนั้นจึงไม่มีปัญหา แต่ในระหว่างกระบวนการตรวจสอบพบว่ารหัสไม่สามารถตรวจสอบได้และรหัสนั้นไม่มีปัญหาจริงดังนั้นการตรวจสอบจะล้มเหลวได้อย่างไร
หลังจากค้นหาการยืนยันข้อมูล Nginx ต้องกลับมาโดย LDAP ว่า Auth-Server จะต้องเป็นที่อยู่ IP ของเซิร์ฟเวอร์
hashenv.put (context.security_authentication, "simple"); Hashenv ); ":" พอร์ต); "); System.out.println (" Mailserver: " + attrs.get (" Mailserver "). Get ()); System.out.println (" Mailserver: " + attrs.get (" อีเมล "); = attrs.get ("mail"). get (). toString (); สตริง attcn = attrs.get ("mailserver"). get (). toString (); string attserver = attcn.split (",") [) [) [) [) 0] .split ("=") [1]+"."+attdomain.substring (attdomain.indexof ("@")+1); , ") [0] .split (" = ") [1]; return inet4address.getByName (attserver) .getHostaddress (). toString (); ต่อไปเราสามารถแก้ปัญหาได้โดยการแก้ไขรหัส:
วิธีแก้ปัญหาก่อนที่เราจะเริ่มต้นเราคิดว่าจะได้รับ mailserver ของผู้ใช้และค่า MailAddrss บน LDAP a1.duin.com;
หลังจากแปลงเป็น IP เราทดสอบอีกครั้ง
นอกจากนี้เรายังทดสอบผ่าน Outlook
หลังจากการทดสอบประสบความสำเร็จเราเพิ่มการแยกวิเคราะห์เป็น 192.168.2.163 ไปยัง DNS จากนั้นเราทดสอบอีกครั้งผ่านชื่อโดเมน ไฟล์
เซิร์ฟเวอร์ {
ฟัง 25;
โปรโตคอล SMTP;
SMTP_AUTH ล็อกอินธรรมดา;
xclient ปิด;
-
หมายเหตุ: เนื่องจากเราเพิ่มพร็อกซี SMTP ภายใต้ NGINX เราจึงเพิ่มพื้นที่เซิร์ฟเวอร์ SMTP
หลังจากที่เราเพิ่มลงในการรีสตาร์ท Nginx Promt Nginx อีกครั้งล้มเหลว
เราคิดว่ามีการใช้พอร์ตพรอมต์และ postfix ที่มาพร้อมกับระบบเริ่มต้นขึ้น
Systemctl หยุด postfix
Systemctl ปิดการใช้งาน postfix
จากนั้นเรารีสตาร์ท nginx
เราทดสอบผ่านการกำหนดค่า Outlook
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้