Este artículo presenta a Java+Nginx para implementar los servicios de agencia de correo electrónico Pop, IMAP, SMTP.
Introducción del medio ambiente:
Nombre de host: java.iternalsoft.com
IP: 192.168.2.163
Roles: Proxy Server OS: CentOS7
Modificamos la información del servidor recién instalada a través del siguiente comando:
Hostnamectl setname customName Modifique el nombre de la computadora SystemCTL Stop Firewalld.Serice SystemCTL Disable Firewall.service.
En primer lugar, instalamos el servicio Nginx.
Yum installhttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
Después de que se instaló el almacén de repo, comenzamos a instalar nginx
Yum install nginx
A continuación, verifique la ruta predeterminada
/etc/nginx/nginx.conf
Encontrar -name nginx
A continuación, tenemos que configurar el archivo de configuración de Nginx
Vim /etc/nginx/nginx.conf El archivo de configuración predeterminado
Para facilitar la necesidad de borrar todos los contenidos en el archivo de configuración, use los siguientes comandos para completar
Echo> /etc/nginx/nginx.conf Borrar el contenido en nginx.conf
Pero para configurar completar la configuración, se recomienda hacer una copia de seguridad primero
Cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
Entonces corre de nuevo
echo> /etc/nginx/nginx.conf Clare el archivo de configuración
Luego edite el archivo de configuración nuevamente
Vim /etc/nginx/nginx.conf
Agregue el siguiente código y guarde el contenido del código de acuerdo con su propio entorno.
Usuario nginx; /Imail/index.jsp; ;
Pasta
A continuación, configure el servicio NGINX
SystemCTL Habilitar Nginx.Service Nginx El servicio abre un inicio aleatorio
SystemCTL Inicio Nginx.
SystemCTL Status Nginx. Servicio Nginx El servicio se ejecuta
El siguiente paso es instalar el entorno operativo Java (JDK), el entorno operativo Java e instalar Tomcat aquí
La primera confirmación es que Linux es generalmente JDK con su propio entorno Java
El siguiente paso es preparar un nuevo archivo JDK.
desacuerdo -a
Verifique si la versión y los dígitos del sistema son de 32 o 64 bits
Si hay x86_64, el sistema operativo de 64 bits, si no, es de 32 bits
Descargar e instalar JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8 downloads-2133151.html
Mojar
http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-linux-x64.gz?authparam=1433902875_8682334C723CDBC5C9C9C9C9C9 DCC9
Revisamos el archivo descargado a través de LS, y luego necesitamos descomprimir
Tar -zxvf jdk1.8.0 ...... ..
Declaje y completo, no es necesario instalar
Luego entramos en esta ruta a través del comando CD
Cree un directorio de Java in/usr/, y luego mueva el JDK descomprimido al directorio
CD / USR / Ingrese el directorio USR
Mkdir Java crea una carpeta Java
Luego podemos mover el directorio actual JDK1.8 .... Declamo el archivo al directorio Java
1
MV JDK1.8.xx /usr /java
Vim /etc /Perfil Editar variables de entorno Agregar variables de entorno
Java_home =/usr/java/jdk1.8.0_45
Jre_home =/usr/java/jdk1.8.0_45/jre
Ruta = $ ruta: $ java_home/bin: $ jre_home/bin
Classpath =.: $ Java_home/lib/dt.jar: $ java_home/lib/tools.jar: $ jre_home/lib/lib/libs
Exportar java_home jre_home ruta classpath
Dejamos de ahorrar, y luego reiniciar el sistema y encontrar que la versión del JDK ya es la nueva versión de nuestra instalación.
El siguiente es que necesitamos instalar Tomcat, primero descargarlo
http://tomcat.apache.org/download-80.cgi
Después de abrir el sitio web oficial de Tomcat para encontrar el paquete de instalación correcto, haga clic con el tiempo correcto para copiar el enlace de descarga y descargarlo en línea a través de WGET
mojar
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
Descargar
Después de descargar, podemos comenzar a descomprimir
Tar -zxvf apache_tomcat1.8.-0 tar.gz
Descompresión completa
Necesitamos mover el archivo Apache-TomCat a/usr/
MV Apache-Tomcat /USR
A continuación, comience el servicio Tomcat
CD /USR/APACHE TOMCAT18.0.23/BIN
./startup.sh
Luego revisamos el puerto de servicio relacionado con Tomcat
Netstat -nlpt
Menor CentOs7, debe instalar el servicio de herramientas de redes por separado
Yum install -y net -times
Netstat -nlpt
Luego usamos el navegador IE para acceder
También podemos modificar el puerto de servicio predeterminado de Apache-TomCat
En Apache-Tomcat/Conf/Server.xml
Hashenv.put (context.security_authentication, "simple"); Hashenv. );//Hashenv.put (com.sun.jndi.ldap.connect.timeout, 3000); ":"+puerto); // el puerto predeterminado 389try {ctx = new InitialDirText (Hashenv); "); System.out.println (" MailServer: " + attrs.get (" Mailserver "). Get ()); string attdomain = attrs.get (" mail "). Get (). ToString (); string atserver = Attcn.split (",", ") 0] .split (" = ") [1]+". "+Attdomain.substring (attdomain.indexof ("@")+1); ss ())); Return attcn.split (",", ") [0] .split (" = ") [1]; Luego necesitamos personalizar el programa de ejecución de Java, de hecho, el paquete .war
Después de definir el programa, exportaremos el código del programa como un paquete .war y luego lo copiaremos en la aplicación web en el directorio de instalación del TomCat por WinsCP o Mount.
Después de que comienza el servicio Tomcat, podemos visitar el navegador para provocar 500 páginas.
A continuación, tengo un problema para probar el código, por lo que lo probaremos a través del siguiente comando:
Curl -h'auth -user: iiosoft '-h' auth -pass: 123 '-h' auth -protocol: pop3 '
http: // localhost: 8080/mimail/index.jsp
Podemos probarlo normalmente, puede devolver información como Auth-Sever, Auth-Status, Auth-Ports, Auth-UTH-Pass y otra información, por lo que no hay problema. Pero durante el proceso de verificación se encuentra que el código no se puede verificar, y el código no es un problema, entonces, ¿cómo puede fallar la verificación?
Después de encontrar la confirmación de datos, NGINX debe devolver por LDAP que el servidor de autores debe ser la dirección IP del servidor.
Hashenv.put (context.security_authentication, "simple"); Hashenv. );//Hashenv.put (com.sun.jndi.ldap.connect.timeout, 3000); ":"+puerto); // el puerto predeterminado 389try {ctx = new InitialDirText (Hashenv); "); System.out.println (" MailServer: " + attrs.get (" MailServer "). Get ()); System.out.println (" MailServer: " + attrs.get (" Mail "); cadena adjuntaDomain = Attrs.get ("mail"). Get (). ToString (); string attcn = attrs.get ("mailserver"). Get (). ToString (); string atserver = attcn.split (",") [) [) 0] .split ("=") [1]+"."+Attdomain.substring (Attdomain.indexof ("@")+1); , ") [0] .split (" = ") [1]; return inet4address.getByName (attServer) .gethostaddress (). ToString (); A continuación, podemos resolver el problema modificando el código:
Cómo resolverlo, antes de inicializar, pensamos en obtener los valores de MailServer y MailAddrss del usuario en LDAP. A1.duin.com;
Después de convertir a IP, probamos nuevamente;
También probamos a través de Outlook
Después de que la prueba sea exitosa, agregamos un análisis a 192.168.2.163 al DNS, y luego lo probamos nuevamente a través del nombre de dominio. archivos
Servidor {
Escuchar 25;
Protocolo SMTP;
Smtp_auth Iniciar sesión Plain;
Xclient Off;
}
Nota: Debido a que agregamos proxies SMTP en Nginx, agregamos el área del servidor SMTP
Después de agregarlo para volver a redactar, el reinicio de Nginx de inmediato falló
Creemos que se ha utilizado el puerto rápido y se inicia el postfix que viene con el sistema
SystemCtl Stop Postfix
SystemCTL deshabilitar Postfix
Luego reiniciamos nginx
Probamos a través de la configuración de Outlook
Lo anterior es todo el contenido de este artículo.