2010-02-28 49 views
9

He hecho una aplicación java que almacena datos de un archivo .csv en una base de datos MySql. Ahora mi cliente desea que cargue esta aplicación en su espacio web (espacio web que ha tomado para su sitio web) para que pueda ejecutar ese programa en ese servidor.¿Cómo ejecutar un programa Java en un servidor?

He usado el software FileZilla para subir el programa a su alojamiento web pero ahora no sé cómo ejecutar ese programa en su servidor.

Para ejecutarlo en localsystem, necesita abrir una ventana de símbolo del sistema para ejecutarlo.

¿Hay alguna característica específica que el alojamiento web debe admitir para ejecutar ese programa java?

Como almacena datos de un archivo (archivo .csv) en una base de datos MySql, ¿sería mejor implementar ese programa en el servidor en el que está alojada la base de datos en lugar del servidor en el que se está alojado? ?

Respuesta

9

De hecho, al decir "aplicación web", generalmente nos referimos a una aplicación especial, programada para ejecutarse en el servidor web todo el tiempo, simplemente esperando que el usuario procese las solicitudes.

En su caso, tiene una aplicación basada en la consola.

Dependiendo de la configuración del servidor, ninguna de estas aplicaciones podría ejecutarse en su alojamiento web de cliente, cualquiera de ellos o ambos.

Dado que, por lo general, el alojamiento web es proporcionado por la empresa de alojamiento, pueden tener configuraciones preparadas para ejecutar sus aplicaciones, pueden tenerlo activado/desactivado o incluso tomar dinero para esto.

En el caso de un servidor interno de la compañía, necesita pedirle a su cliente y su material informático que configure esto. Por favor, tendrá que preguntar: 1. ¿El servidor admite SSH? - Es simplemente una consola remota. Normalmente se ejecuta en el puerto 22 y muchos lo verifican con el comando "telnet yourserver 22" (windows y linux) - si no rechaza su conexión - significa que SSH está configurado. 2. ¿Tiene su servidor Java instalado y si está disponible para su cuenta a través de la conexión SSH?

  1. Sólo si su cliente realmente quiere decir aplicación web en lugar de aplicación basada en consola que hay que preguntarse si el servidor tiene servidor de aplicaciones web para Java - por lo general, es algo así como Apache Tomcat, Espolón , JBoss, Weblogic, etc. Pero de esta manera requerirá la modificación de la aplicación para ejecutarlo en el servidor web.

Si decide utilizar la aplicación de consola y no "actualizarla" a la aplicación web, realmente puede ejecutarla en el host que ejecuta su base de datos (de nuevo, necesitará SSH). Ahorrará tiempo en operaciones remotas de acceso a la base de datos; teóricamente, su programa funcionará más rápido.

+0

+1 ........... ............ –

+0

Cuando traté de emitir un comando telnet que usted dijo anteriormente, recibí el siguiente texto ... "SSH -2.0-OpenSSH_5.1 "....... Creo que es compatible con SSH ... ¿Cómo puedo encontrar que tiene Java instalado y está disponible a través de la conexión SSH ... –

+0

Primero necesita obtener el inicio de sesión de SSH/contraseña de su cliente. Luego, después de conectarse, obtendrá la misma línea de comandos que tiene en su propio escritorio. Tratar de ejecutar su programa como siempre lo hace ("java -jar program.jar", creo) le dará una respuesta si Java está disponible. De lo contrario, pregunte a su cliente (esperando que envíe dicha pregunta al proveedor) si es posible instalar Java allí. – seas

2

Su aplicación probablemente sea una aplicación de consola y no una basada en web.

necesitará su cliente SSH al servidor y hacer algo como:

java com.foobar.FooBar 

o:

java -jar FooBar.jar 
+0

sí, sé el comando pero dónde dar ese comando. ¿Podría explicar sobre SSH al servidor? –

+1

Tendrá que iniciar sesión en el servidor remoto para ejecutar su programa. – Zaki

+0

http://en.wikipedia.org/wiki/Secure_Shell – cherouvim

4

Tener "espacio web" no significa necesariamente que tiene suficiente acceso a la servidor para ejecutar programas arbitrarios (o una base de datos MySql).

podría reescribir la aplicación como una aplicación web, pero puede que no sea una buena opción.

Lo primero que se debe comprobar es si puede iniciar sesión para ejecutar programas desde una consola de alguna descripción. Si puede, está bien, y el camino a seguir. Si no puede, tendrá que pensar por qué realmente quiere que esté en su servidor web, y si tiene sentido ejecutar la aplicación allí o si sería mejor hacerlo en otro lugar.

+1

+1 ... Le explico el escenario ... Ha alojado su base de datos mysql en un servidor . Ahora he creado un programa Java que llena la base de datos desde un archivo .csv. El programa y el archivo .csv están en el mismo lugar ... Ahora, hasta donde yo creo, el programa debería ejecutarse en el mismo servidor en el que el programa la base de datos reside para que el programa pueda almacenar los datos rápidamente en comparación con hacer una conexión con una base de datos remota ... cuál sería el mejor enfoque según usted ... los derechos de acceso no son un problema porque si no tiene suficiente acceso derechos ahora, luego puede actualizar o cambiar su hosting –

+0

@Yatendra: Entonces eso es lo que debe hacer: asegúrese de que tenga un hosting que admita acceso remoto (ya sea Windows o Unix) y que le permita ejecutar aplicaciones Java directamente desde un comando línea. Es posible que muchas empresas de alojamiento web no lo admitan, en particular las de muy bajo costo, pero también existen las que sí lo hacen. Una vez que tenga un entorno de alojamiento que le permita el acceso remoto a la línea de comandos, podrá ejecutar la aplicación de forma normal. –

1

Si su servicio de hosting tiene java disponible se podría tratar de ejecutarlo desde una tarea programada en PHP sin necesidad de ssh:. Empleos

<?php system('java -jar /path/to/your/program.jar'); ?> 

Cron se realizan fácilmente desde cpanel (PS lo anterior es el código para el archivo php no es lo que pones en la página cron, pones el php -f /path/to/php/file.php en la página cron)

Cuestiones relacionadas