Cet article présente Java + Nginx pour implémenter les services de l'agence par courrier électronique POP, IMAP, SMTP.
Introduction de l'environnement:
Nom d'hôte: java.iternalsoft.com
IP: 192.168.2.163
Rôles: Proxy Server OS: CentOS7
Nous modifions les informations du serveur nouvellement installées via la commande suivante:
HostNamectl setName CustomName Modifier le nom de l'ordinateur Systemctl Stop Firewalld.Serice Systemctl Disable Firewall.Service.
Tout d'abord, nous avons installé le service Nginx.
Yum installhttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
Après l'installation de l'entrepôt de repo, nous avons commencé à installer nginx
Miam installer nginx
Ensuite, vérifiez le chemin par défaut
/etc/nginx/nginx.conf
Trouver -name nginx
Ensuite, nous devons configurer le fichier de configuration de Nginx
Vim /etc/nginx/nginx.conf Le fichier de configuration par défaut
Afin de faciliter la nécessité d'effacer tous les contenus du fichier de configuration, utilisez les commandes suivantes pour terminer
Echo> /etc/nginx/nginx.conf Effacer le contenu dans nginx.conf
Mais afin de configurer la configuration complète, il est recommandé de sauvegarder d'abord
Cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
Puis courez à nouveau
Echo> /etc/nginx/nginx.conf Fichier de configuration d'effondrement
Ensuite, modifiez le fichier de configuration
Vim /etc/nginx/nginx.conf
Ajoutez le code suivant et enregistrez le contenu du code en fonction de votre propre environnement.
Utilisateur Nginx; Worker_Processss 4; /Imail/index.jsp; ;
Coller
Ensuite, définissez le service Nginx
SystemCTL Activer Nginx.Service Nginx Service ouvre le démarrage aléatoire
SystemCTl Start Nginx.Service Nginx Service Startup
SystemCTl Status Nginx.Service Nginx Service Exécute
L'étape suivante consiste à installer l'environnement d'exploitation Java (JDK), l'environnement d'exploitation Java et d'installer Tomcat ici
La première confirmation est que Linux est généralement JDK avec son propre environnement Java
L'étape suivante consiste à préparer un nouveau fichier JDK.
uname -a
Vérifiez si la version et les chiffres du système sont de 32 ou 64 bits
S'il y a x86_64, le système d'exploitation 64-bits, sinon, c'est 32-bits
Télécharger et installer 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=1433902875_8682334C723CDBC5C9C9C9C9 DCC9
Nous vérifions le fichier téléchargé via LS, puis nous devons décompresser
TAR -ZXVF JDK1.8.0 ...... ..
Déclaim et complet, pas besoin d'installer
Ensuite, nous entrons ce chemin via la commande CD
Créez un répertoire de Java dans / USR /, puis déplacez le JDK décompressé vers le répertoire
CD / USR / Entrez le répertoire USR
Mkdir Java crée un dossier java
Ensuite, nous pouvons déplacer le répertoire actuel JDK1.8 .... Déclimiez le fichier au répertoire Java
1
Mv jdk1.8.xx / usr / java
VIM / etc / Profile Modifier les variables d'environnement Ajouter les variables d'environnement
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 / outils.jar: $ jre_home / lib
Exporter Java_Home Jre_Home Path ClassPath
Nous avons quitté après enregistrer, puis redémarrons le système et constatons que la version du JDK est déjà la nouvelle version de notre installation
Ensuite, nous devons installer Tomcat, téléchargez-le d'abord
http://tomcat.apache.org/download-80.cgi
Après avoir ouvert le site officiel de Tomcat pour trouver le bon package d'installation, à droite - cliquez pour copier le lien de téléchargement et téléchargez-le en ligne via WGET
wett
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
Télécharger
Après le téléchargement, nous pouvons commencer à décompresser
TAR -ZXVF APACHE_TOMCAT1.8.-0 Tar.gz
Décompression complète
Nous devons déplacer le fichier apache-tomcat vers / usr /
Mv apache-tomcat / usr
Démarrez ensuite le service Tomcat
Cd /usr/apache-tomcat18.0.23/bin
./startup.sh
Ensuite, nous vérifions le port de service lié à Tomcat
Netstat -nlpt
En vertu de CentOS7, vous devez installer le service Net-Tools séparément
Yum install -y net -Times
Netstat -nlpt
Ensuite, nous utilisons le navigateur IE pour accéder
Nous pouvons également modifier le port de service par défaut d'Apache-Tomcat
Sous Apache-Tomcat / conf / Server.xml
Hashenv.put (context.security_authentication, "simple"); Hashenv. )); ":" + port); "); System.out.println (" MailServer: "+ attrs.get (" MailServer "). Get ()); String Attomain = attrs.get (" mail "). Get (). ToString (); String AttServer = AttCn.Split (",", ") 0] .split (" = ") [1] +". "+ AttDomain.substring (attalain.indexof (" @ ") + 1); ss ())); Return attCn.Split (",", ") [0] .split (" = ") [1]; Ensuite, nous devons personnaliser le programme de course Java, en fait, le package .war
Après avoir défini le programme, nous exporterons le code du programme en tant que package .war, puis le copierons sur WebApp sous le répertoire d'installation du Tomcat par winSCP ou Mount.
Après le début du service Tomcat, nous pouvons visiter le navigateur pour provoquer 500 pages.
Ensuite, j'ai un problème pour tester le code, nous allons donc le tester via la commande suivante:
Curl -h'auth -User: iiosoft '-h' auth -pass: 123 '-h' auth -protocol: pop3 '
http: // localhost: 8080 / imail / index.jsp
Nous pouvons vous tester normalement, vous pouvez retourner des informations telles que Auth-Sever, Auth-Status, Auth-Ports, Auth-Uth-Pass et autres informations, donc il n'y a pas de problème. Mais pendant le processus de vérification, il est constaté que le code ne peut pas être vérifié, et le code n'est en effet aucun problème, alors comment la vérification peut-elle échouer?
Après avoir trouvé la confirmation des données, Nginx doit retourner par LDAP que Auth-Server doit être l'adresse IP du serveur.
Hashenv.put (context.security_authentication, "simple"); Hashenv. )); ":" + port); "); System.out.println (" MailServer: "+ att.get (" MailServer "). Get ()); System.out.println (" MailServer: "+ att.get (" Mail "); String attachEdomain = Attr.get ("mail"). Get (). ToString (); String attCn = att.get ("MailServer"). Get (). ToString (); String attServer = attCn.Split (",") [ 0] .split ("=") [1] + "." + AttDomain.Substring (attance.indexof ("@") + 1); , ") [0] .split (" = ") [1]; return inet4address.getByName (attServer) .GethostAddress (). ToString (); Ensuite, nous pouvons résoudre le problème en modifiant le code:
Comment le résoudre, avant d'initialiser, nous avons pensé à obtenir les valeurs MailServer et MailAdDRS de l'utilisateur sur LDAP. A1.duin.com;
Après avoir converti en IP, nous testons à nouveau;
Nous avons également testé via Outlook
Une fois le test réussi, nous ajoutons un analyse à 192.168.2.163 au DNS, puis nous le testons via le nom de domaine. fichiers
Serveur {
Écoutez 25;
protocole SMTP;
SMTP_Auth Login Plain;
xclient off;
}
Remarque: Parce que nous ajoutons des proxys SMTP sous Nginx, nous ajoutons la zone du serveur SMTP
Après l'avoir ajouté pour re-retracter, le redémarrage de Nginx invite a échoué
Nous pensons que le port rapide a été utilisé, et le post-fixe fourni avec le système est démarré
SystemCTl Stop Postfix
Systemctl Désactiver Postfix
Ensuite, nous redémarrons nginx
Nous testons via la configuration Outlook
Ce qui précède est tout le contenu de cet article.