Cómo determinar dónde están localizados el origen y el servidor 8080 localhost

3

Estoy ejecutando el sistema operativo Mavericks actualmente en mi iMac. Ha pasado un tiempo desde que configuré un servidor web en mi iMac. Fui a mi navegador Firefox y fui a localhost: 8080 y me devuelve una cadena simple "SUCCESS". ¿Cómo puedo determinar qué servidor es responsable de esto y dónde se encuentra el archivo de origen? He buscado varias ubicaciones y no puedo encontrar su ubicación. He mirado el archivo /etc/apache2/sites/...conf y muestra / Users / (me) / Sites pero el index.html que se encuentra allí no es lo que estoy viendo. Esperaría que estuviera en el puerto 80 de todos modos y no se cargará, lo que sugiere que el servidor apache se estaba ejecutando, lo cual estoy bastante seguro de que no está basado en el Monitor de actividad.

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

    
pregunta teaman 30.12.2014 - 05:09

1 respuesta

3

Prueba:

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.

Use el PID para encontrarlo en el Monitor de actividad, Obtener información y observe qué archivos tiene abiertos. Tendrá un montón de bibliotecas abiertas, pero en la lista estará el archivo ejecutable.

Alternativamente, a partir del nombre, vea 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 recibe ningún resultado (porque no se está ejecutando como un demonio), inténtelo sin sudo .

Solicite a launchctl más información sobre ese servicio. Continuando usando Apache como ejemplo:

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";
    );
};

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

Su servidor web, escuchando en el puerto 8080, no es de Apple, por lo que no estará en / System / Library. Busque en / Library / LaunchDaemons, o tal vez en ~ / Library / LaunchAgents (si se ejecuta solo cuando está conectado). (Escuchar en el puerto 8080 no requiere privilegios de raíz, por lo que posiblemente podría ejecutarse como usted, aunque eso tiene implicaciones de seguridad interesantes).

Otro lugar para buscar es en Preferencias del sistema → Usuarios & Grupos → Artículos de inicio de sesión. Como no sabemos cómo configurarlo para que se ejecute automáticamente, es posible que no lo haya hecho al colocar un archivo en cualquiera de los directorios ... Biblioteca / Lanzamiento *.

    
respondido por el ganbustein 30.12.2014 - 06:30

Lea otras preguntas en las etiquetas