Cómo determinar dónde se encuentra el servidor localhost: 8080 fuente y servidor

3

Actualmente estoy ejecutando Mavericks OS 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 devuelve una cadena simple "ÉXITO". ¿Cómo puedo determinar qué servidor es responsable de esto y dónde se encuentra el archivo fuente? He buscado en 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 ubicado allí no es lo que estoy viendo. De todos modos, esperaría que estuviera en el puerto 80 y no se cargará, lo que sugiere que el servidor apache se estaba ejecutando, lo cual estoy bastante seguro de que no, según 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 en esto. ¿Hay alguna manera de rastrear esto y controlar el servidor y el código webroot ubicado allí?

Teaman
fuente

Respuestas:

3

Tratar:

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

Las dos primeras columnas serán el nombre y el PID del proceso que se escucha 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 lo alto de la lista estará el archivo ejecutable.

Alternativamente, desde el nombre, vea a qué servicio corresponde

sudo launchctl list | grep theprocessname

Por ejemplo, si el nombre fuera httpd, el comando anterior le indicaría el nombre del servicio org.apache.httpd. Si no obtienes ningún éxito (porque no se está ejecutando como un demonio), pruébalo sin él sudo.

Solicite launchctl para obtener 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 proporciona 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, que escucha en el puerto 8080, no es de Apple, por lo que no estará en / System / Library. Mire en / Library / LaunchDaemons, o tal vez incluso en ~ / Library / LaunchAgents (si se ejecuta solo cuando está conectado). (Escuchar en el puerto 8080 no requiere privilegio de root, por lo que posiblemente podría ejecutarse como usted, aunque eso tiene implicaciones de seguridad interesantes).

Otro lugar para buscar es Preferencias del sistema → Usuarios y grupos → Elementos de inicio de sesión. Como no sabemos cómo configurarlo para que se ejecute automáticamente, es posible que no lo haya hecho colocando un archivo en cualquiera de los directorios ... Biblioteca / Lanzamiento *.

ganbustein
fuente
Esto devuelve un nombre de proceso psahttp. No estoy seguro de qué hacer con eso. ¿Algún otro consejo sobre cómo averiguar cómo detener / iniciar este servidor y dónde está el archivo raíz?
teaman
@teaman abra Activity Monitor, haga que muestre todos los procesos, busque psahttp y mire los archivos abiertos por ese proceso. O simplemente invoque el poderoso Google -> support.photosmithapp.com/knowledgebase/articles/…
nohillside
Una búsqueda en Google nos dice que psahttp es una "pequeña utilidad utilizada por el complemento Photosmith Lightroom", y debería cerrarse automáticamente cuando salga de Lightroom. No tengo idea de por qué estaría escuchando en el puerto 8080.
ganbustein
1
¡Muchas gracias! Era el complemento Photosmith LR y estaba configurado para escuchar en el puerto 8080 de forma predeterminada. Permite cambiarlo en las preferencias. ¡Así que cambié a 8081 y ahora 8080 no responde! Lo utiliza para sincronizar fotos y configuraciones entre la aplicación para iPad Photosmith 2 y la aplicación Lightroom en la Mac. No me di cuenta de que usaba ese puerto.
teaman
¡Qué respuesta tan geek!
tecnófilo