3 votos

Cómo determinar dónde se encuentran el origen y el servidor localhost:8080

Actualmente estoy ejecutando el sistema operativo Mavericks en mi iMac. Hace tiempo que no configuro un servidor web en mi iMac. Fui a mi navegador Firefox y fui a localhost:8080 y devuelve una simple cadena "SUCCESS". ¿Cómo puedo determinar qué servidor es responsable de esto y dónde se encuentra el archivo de origen? He buscado en múltiples lugares y no puedo encontrar su ubicación. He mirado en el archivo /etc/apache2/sites/...conf y muestra /Users/(me)/Sites pero el index.html ubicado allí no es lo que estoy viendo. Yo esperaría que estuviera en el puerto 80 de todos modos y no se carga, lo que sugiere que el servidor apache se ejecuta, que estoy bastante seguro de que no es, basado en el Monitor de Actividad.

No recuerdo cómo se inició el servidor. He estado incursionando en nodejs pero no estoy seguro de qué proyecto está involucrado en esto. ¿Hay alguna manera de rastrear esto y controlar el servidor y el código de webroot ubicado allí?

3voto

ganbustein Puntos 1016

Inténtalo:

sudo  lsof -n -i :8080 -s TCP:LISTEN

Las dos primeras columnas serán el nombre y el PID de los procesos que escuchan en el puerto 8080.

Utiliza el PID para encontrarlo en el Monitor de Actividad, Obtener Información, y fíjate qué archivos tiene abiertos. Tendrá un montón de librerías abiertas, pero lo primero en la lista será el archivo ejecutable.

O bien, a partir del nombre, ver a qué servicio corresponde con

sudo launchctl list | grep theprocessname

Por ejemplo, si el nombre fuera httpd El comando anterior le dirá que el nombre del servicio es org.apache.httpd . Si no obtiene ningún resultado (porque no se está ejecutando como demonio), inténtelo sin sudo .

Pregunte a launchctl para obtener más información sobre ese servicio. Siguiendo con el ejemplo de Apache:

sudo launchctl list org.apache.httpd

te diría

{
    "LimitLoadToSessionType" = "System";
    "Label" = "org.apache.httpd";
    "TimeOut" = 30;
    "OnDemand" = false;
    "LastExitStatus" = 0;
    "PID" = 39660;
    "Program" = "/usr/sbin/httpd";
    "ProgramArguments" = (
        "/usr/sbin/httpd";
        "-D";
        "FOREGROUND";
    );
};

Fíjese en la línea "Programa", que le indica la ruta del ejecutable. La mayor parte de esa información proviene de /System/Library/LaunchAgents/org.apache.httpd.plist, que es el archivo que indica a Launch Services cuándo y cómo ejecutar el programa.

Su servidor web, que escucha en el puerto 8080, no es de Apple, por lo que no estará en /Sistema/Biblioteca. Busca en /Library/LaunchDaemons, o incluso en ~/Library/LaunchAgents (si se ejecuta sólo cuando estás conectado). (Escuchar en el puerto 8080 no requiere privilegio de Root, así que podría estar ejecutándose como usted, aunque eso tiene interesantes implicaciones de seguridad).

Otro lugar para buscar es en Preferencias del Sistema→Usuarios y Grupos→Elementos de Inicio de Sesión. Como no sabemos cómo lo has configurado para que se ejecute automáticamente, puede ser que no lo hayas hecho poniendo un archivo en cualquiera de los directorios ...Library/Launch*.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X