1
votes

Coldfusion 2018 sur Centos 7 ne parvient pas à configurer le connecteur Apache

J'ai installé CF2018 sur un nouveau serveur, qui est installé et en cours d'exécution, je peux le voir si j'exécute ps aux | ack -i coldfusion

    <!-- Define an AJP 1.3 Connector on port 8009 -->
        <!-- begin connector -->
    <Connector port="8009" packetSize="65535" protocol="AJP/1.3"  redirectPort="8451" tomcatAuthentication="false" maxThreads="500" connectionTimeout="60000"/>
    <!-- end connector -->

MISE À JOUR

J'avais clairement cassé quelque chose, j'ai donc supprimé les erreurs précédentes, mais je ' J'ai toujours des problèmes avec le connecteur.

J'ai supprimé toutes les références et tous les fichiers relatifs à mod_jk de / etc / httpd / conf , réinstallé CF puis a relancé le connecteur.

Il a été installé avec succès avec cette commande:

$ pwd
/opt/coldfusion2018/config/wsconfig/1

$ tail mod_jk.log
[error] ajp_service::jk_ajp_common.c (3000): (cfusion) connecting to tomcat failed (rc=-3, errors=583, client_errors=0).
[info] jk_open_socket::jk_connect.c (816): connect to ::1:8018 failed (errno=13)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (1140): (cfusion) Failed opening socket to (::1:8018) (errno=13)
[error] ajp_send_request::jk_ajp_common.c (1811): (cfusion) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=13)
[info] ajp_service::jk_ajp_common.c (2979): (cfusion) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)
[info] jk_open_socket::jk_connect.c (816): connect to ::1:8018 failed (errno=13)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (1140): (cfusion) Failed opening socket to (::1:8018) (errno=13)
[error] ajp_send_request::jk_ajp_common.c (1811): (cfusion) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=13)
[info] ajp_service::jk_ajp_common.c (2979): (cfusion) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[error] ajp_service::jk_ajp_common.c (3000): (cfusion) connecting to tomcat failed (rc=-3, errors=584, client_errors=0).

J'ai le répertoire à / opt / coldfusion2018 / config / wsconfig / 1 mais j'obtiens maintenant ces erreurs:

$ sudo ./wsconfig -ws Apache -dir /etc/httpd/conf

Je n'ai aucune idée d'où vient le port 8018, je pensais que tomcat utilisait 8500 par défaut

MISE À JOUR 2

Si je visite mon site avec : 8500 à la fin, je peux accéder au CFIDE, donc c'est CF fonctionne et ce port est accessible

UPDATE 3

J'ai trouvé ceci dans mon fichier server.xml , essayé de définir le port à la fois sur 8009 et 8018 et cela ne semble pas faire de différence pour les erreurs dans le mod_jk.log

XXX


0 commentaires

3 Réponses :


1
votes

Pete,

Quel est le système d'exploitation et la version du serveur Web?

Avez-vous essayé de passer les paramètres autres que dir, explicitement, comme ceci:

sudo ./wsconfig -ws Apache /opt/apache2/conf -bin /opt/apache2/bin/httpd -script /opt/apache2/bin/apachectl -dir -v

..et le processus de fusion à froid n'a pas besoin d'être en cours d'exécution pour que le connecteur soit configuré.


3 commentaires

J'ai donc tout supprimé de / etc / httpd / conf à faire avec modjk, réinstallé cf et relancé le connecteur. J'obtiens maintenant une erreur que je recevais beaucoup plus tôt à propos de Tomcat qui écoutait probablement sur le mauvais port. Je mettrai à jour la réponse et ajouterai également les numéros de version


oh je viens juste de remarquer ce dernier morceau! arrêtera CF, retirera et rajoutera le connecteur puis le redémarrera


toujours pas de chance. bon rappel cependant ... idiot de ma part de ne pas arrêter d'abord CF



1
votes

8018 est le port AJP par défaut que le connecteur utilise pour parler à tomcat. 8500 est le port HTTP par défaut que vous utiliseriez lorsque vous accédez à la console d'administration CF. Vous avez initialement signalé une erreur lors de la configuration du connecteur. Est-ce résolu. Avez-vous vérifié le journal wsconfig pour voir s'il y avait des erreurs de configuration du connecteur?

Les extraits du journal modjk que vous avez partagés plus récemment indiquent simplement que CF n'est pas en cours d'exécution, ou du moins, n'écoute pas sur le port AJP par défaut.


8 commentaires

Ce message est en fait mon erreur d'origine, en essayant de le réparer, j'ai cassé certaines choses et j'ai fini par obtenir les erreurs dans mon article précédent (en parlant du chemin d'Apache lors de l'exécution de wsconfig). J'ai tout nettoyé et reparti à zéro et je suis de retour à ce stade. Je peux accéder à mon CFIDE via le port 8500 et je peux accéder à des pages HTML simples servies via apache. Lors de l'accès aux pages CF via apache, des erreurs apparaissent dans le /config/wsconfig/1/mod_jk.log , qui sont maintenant publiés dans la question. Le wsconfig.log ne contient aucune erreur puisque j'ai tout effacé et redémarré, tout semble réussi


n'écoute pas sur le port AJP par défaut. donc CF fonctionne car je peux accéder au panneau d'administration, comment puis-je le faire écouter sur le port AJP? J'ai laissé tous les numéros de port par défaut lors de la configuration


eh bien, avez-vous vérifié (avec une commande linux appropriée comme netstat) si le port 8018 est ouvert et lié à l'ID de processus de CF. Si ce n'est pas le cas, pouvez-vous vérifier la configuration du connecteur AJP dans le fichier server.xml de CF. Il doit être décommenté et défini sur le bon numéro de port. Je suppose ici que CF et HTTPD sont le même hôte.


server.xml a cette ligne, non commentée:


netstat -l | ack 8018 me montre tcp6 0 0 [::]: 8018 [::]: * ECOUTER mais je ne sais pas ce que cela signifie


vous pouvez obtenir l'ID de processus du CF avec la commande: ps -ef | grep coldfusion. utilisez le PID de la sortie pour récupérer tous les ports ouverts associés à ce processus avec la commande: netstat -anp | grep Si 8018 n'est pas utilisé avec le PID de CF, c'est qu'il y a une erreur. Dans le cas où cela semble bon, essayez de creuser plus profondément en activant la journalisation détaillée dans mod_jk.conf, le fichier de configuration du connecteur CF, en modifiant le niveau de journalisation en débogage. Après avoir activé le journal de débogage, redémarrez le serveur Web, cliquez sur une page cfm et examinez à nouveau le fichier journal.


désolé d'avoir pris des années pour revenir, merci pour tout cela. Netstat montre le port 8018 (et d'autres) utilisé par mon processus CF, donc je vais jeter un œil à la journalisation via le mod jk


donc je n'ai pas de journal global mod_jk, j'ai essayé de changer le chemin de /etc/httpd/conf/mod_jk.log à /var/log/httpd/mod_jk.log mais je ne vois aucun journal en cours de création nulle part



1
votes

Le problème était que SELinux bloquait le port 8018, j'ai en fait demandé à mon hébergeur Secura de vérifier cela pour moi et ils l'ont corrigé (sur la base de toutes les informations que j'avais trouvées dans la réponse de piyush)

J'ai dû autoriser le port 8018 dans SELinux

semanage port -a -t http_port_t -p tcp 8018


0 commentaires