Artikel ini memperkenalkan Java+Nginx untuk mengimplementasikan Layanan Agen Email POP, IMAP, SMTP Mailbox
Pendahuluan Lingkungan:
Nama host: java.iternalsoft.com
IP: 192.168.2.163
Peran: Proxy Server OS: Centos7
Kami memodifikasi informasi server yang baru diinstal melalui perintah berikut:
Hostnamectl setName CustomName Modifikasi Nama komputer Systemctl Stop firewalld.serice systemctl Nonaktifkan firewall.service.
Pertama -tama, kami menginstal layanan nginx.
Yum installHttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
Setelah gudang repo diinstal, kami mulai menginstal Nginx
Yum instal nginx
Selanjutnya, periksa jalur default
/etc/nginx/nginx.conf
Temukan -name nginx
Selanjutnya, kita harus mengonfigurasi file konfigurasi Nginx
Vim /etc/nginx/nginx.conf file konfigurasi default
Untuk memfasilitasi kebutuhan untuk menghapus semua konten dalam file konfigurasi, gunakan perintah berikut untuk menyelesaikan
Echo> /etc/nginx/nginx.conf Hapus konten di nginx.conf
Tetapi untuk mengonfigurasi Konfigurasi Lengkapi, disarankan untuk mencadangkan terlebih dahulu
Cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
Lalu jalankan lagi
Echo> /etc/nginx/nginx.conf File Konfigurasi Hapus
Kemudian edit file konfigurasi lagi
Vim /etc/nginx/nginx.conf
Tambahkan kode berikut dan simpan konten kode sesuai dengan lingkungan Anda sendiri.
Pengguna Nginx; /Imail/index.jsp; {Dengarkan 110;Pasta
Selanjutnya, atur Layanan Nginx
Systemctl Aktifkan Layanan Nginx.Service Nginx Membuka Startup Acak
Systemctl Start Nginx.Service Nginx Startup
Systemctl Status nginx.service Nginx Layanan berjalan
Langkah selanjutnya adalah menginstal Java Operating Environment (JDK), lingkungan operasi Java, dan menginstal Tomcat di sini
Konfirmasi pertama adalah bahwa Linux umumnya JDK dengan lingkungan Java sendiri
Langkah selanjutnya adalah menyiapkan file JDK baru.
Uname -A
Periksa apakah versi dan digit sistem adalah 32 atau 64 -bit
Jika ada x86_64, sistem operasi 64 -bit, jika tidak, itu 32 -bit
Unduh dan instal JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Wett
http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-linux-x64.gz?AuthParam=14333902875_8682334c723cdbc5c9c9c9c9c9c9c9c9
Kami memeriksa file yang diunduh melalui LS, dan kemudian kami perlu melakukan dekompresi
Tar -zxvf jdk1.8.0 ...... ..
Deklamasi dan Lengkap, Tidak Perlu Menginstal
Lalu kami memasukkan jalur ini melalui perintah CD
Buat direktori java di/usr/, lalu pindahkan JDK yang didekompresi ke direktori
CD / USR / Masukkan Direktori USR
Mkdir java membuat folder java
Kemudian kita dapat memindahkan direktori JDK1.8 saat ini .... mendeklaim file ke direktori java
1
Mv jdk1.8.xx /usr /java
VIM /etc /profile Edit Variabel Lingkungan Menambahkan Variabel Lingkungan
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
Ekspor java_home jre_home path classpath
Kami berhenti setelah menabung, dan kemudian restart sistem dan menemukan bahwa versi JDK sudah menjadi versi baru dari instalasi kami
Berikutnya adalah bahwa kita perlu menginstal Tomcat, pertama -tama unduh
http://tomcat.apache.org/download-80.cgi
Setelah membuka situs web resmi Tomcat untuk menemukan paket instalasi yang tepat, kanan -Klik untuk menyalin tautan unduhan dan unduh secara online melalui WGET
Wett
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
Unduh
Setelah mengunduh, kita bisa mulai mendekompresi
Tar -zxvf apache_tomcat1.8.-0 tar.gz
Dekompresi selesai
Kita perlu memindahkan file apache-tomcat ke/usr/
MV Apache-tomcat /usr
Selanjutnya mulai Layanan Tomcat
Cd /usr/apache-tomcat18.0.23/bin
./startup.sh
Lalu kami memeriksa port layanan terkait Tomcat
Netstat -nlpt
Di bawah CentOs7, Anda perlu menginstal Layanan Net-Tools secara terpisah
Yum instal -y net -times
Netstat -nlpt
Lalu kami menggunakan IE browser untuk mengakses
Kami juga dapat memodifikasi port layanan default Apache-tomcat
Di bawah Apache-tomcat/conf/server.xml
Hashenv.put (context.security_authentication, "sederhana"); Hashenv. ); ""+port); // port default 389try {ctx = initialDircontext baru (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]; Maka kita perlu menyesuaikan program Java Running, pada kenyataannya, paket .WAR
Setelah mendefinisikan program, kami akan mengekspor kode program sebagai paket .WAR, dan kemudian menyalinnya ke Webapp di bawah direktori instalasi Tomcat oleh Winscp atau Mount.
Setelah layanan Tomcat dimulai, kita dapat mengunjungi melalui browser untuk meminta 500 halaman.
Selanjutnya, saya punya masalah untuk menguji kode, jadi kami akan mengujinya melalui perintah berikut:
Curl -h'Auth -User: iiosoft '-h' auth -pass: 123 '-h' auth -protocol: pop3 '
http: // localhost: 8080/imail/index.jsp
Kami dapat menguji Anda secara normal, Anda dapat mengembalikan informasi seperti auth-sever, auth-status, auth-ports, auth-ath-pass dan informasi lainnya, jadi tidak ada masalah. Tetapi selama proses verifikasi ditemukan bahwa kode tidak dapat diverifikasi, dan kode memang tidak ada masalah, jadi bagaimana verifikasi bisa gagal?
Setelah menemukan konfirmasi data, Nginx perlu dikembalikan oleh LDAP bahwa auth-server harus menjadi alamat IP server.
Hashenv.put (context.security_authentication, "sederhana"); Hashenv. ); ""+port); // port default 389try {ctx = initialDircontext baru (hashenv); "); System.out.println (" MailServer: " + attrs.get (" MailServer "). Get ()); System.out.println (" MailServer: " + attrs.get (" mail "); string lookedomain = Attrs.get ("mail"). Get (). Tostring (); string 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 (); Selanjutnya, kita dapat menyelesaikan masalah dengan memodifikasi kode:
Cara menyelesaikannya, sebelum kami diinisialisasi, kami berpikir untuk mendapatkan Nilai MailServer dan MailAddrss di LDAP. A1.duin.com;
Setelah mengonversi ke IP, kami menguji lagi;
Kami juga menguji melalui Outlook
Setelah tes berhasil, kami menambahkan parsing ke 192.168.2.163 ke DNS, dan kemudian kami mengujinya lagi melalui nama domain. file
Server {
Dengarkan 25;
SMTP protokol;
smtp_auth login dataran;
XClient off;
}
Catatan: Karena kami menambahkan proxy SMTP di bawah Nginx, kami menambahkan area server SMTP
Setelah kami menambahkannya untuk melakukan kembali, restart nginx cepat gagal
Kami berpikir bahwa port prompt telah digunakan, dan postfix yang datang dengan sistem dimulai
Systemctl Stop Postfix
Systemctl Nonaktifkan postfix
Lalu kami restart nginx
Kami menguji melalui konfigurasi Outlook
Di atas adalah semua isi artikel ini.