我创建了一个java应用程序,它将.csv文件中的数据存储到MySql数据库中。现在我的客户希望它将此应用程序上传到他的网站空间(他为他的网站拍摄的网络空间),以便他可以在该服务器上运行该程序。
我使用FileZilla
软件将程序上传到他的虚拟主机,但现在我不知道如何在他的服务器上运行该程序。
要在localsystem上运行它,需要打开一个命令提示符窗口来运行它。
Web托管必须支持哪些特定功能才能运行该java程序?
由于它将数据从文件(.csv文件)存储到MySql数据库,那么最好将该程序部署在托管数据库的服务器上而不是托管网站的服务器上吗?
答案 0 :(得分:10)
确实,说“网络应用程序”,我们通常是指一个特殊的应用程序,它被编程为始终在Web服务器上运行,只是等待用户处理的请求。
在您的情况下,您有一个基于控制台的应用程序。
根据服务器的配置,这些应用程序中没有任何一个可以在您的客户端网络托管,任何一个或两者上运行。
由于托管公司通常提供网络托管服务,因此他们可能已准备好运行您的应用程序的配置,可以打开/关闭它,甚至可以为此花钱。
如果是公司内部服务器,您需要询问您的客户及其IT部门。
最后,你需要问: 1.服务器是否支持SSH? - 它只是一个远程控制台。通常它在端口22运行,你很多用命令“telnet yourserver 22”(windows和linux)检查它 - 如果它不拒绝你的连接 - 意味着配置了SSH。 2.您的服务器是否安装了Java,是否可以通过SSH连接为您的帐户使用?
如果您决定使用控制台应用程序而不是将其“升级”到Web应用程序,那么您真的可以在运行数据库的主机上运行它(同样,您需要SSH)。您将节省远程数据库访问操作的时间 - 理论上,您的程序将更快地运行。
答案 1 :(得分:5)
拥有“网络空间”并不一定意味着他有足够的权限访问服务器来运行任意程序(或MySql数据库)。
你可能可能会将应用程序重写为Web应用程序,但这可能不太适合。
要检查的第一件事是他是否可以登录以从某些描述的控制台运行程序。如果他能,那很好 - 以及要走的路。如果他不能,你需要考虑为什么他真的希望它在他的网络服务器上,以及在那里运行应用程序是否有意义 - 或者在其他地方做它是否更好。
答案 2 :(得分:2)
您的应用程序很可能是控制台应用程序,而不是基于Web的应用程序。
您的客户端需要SSH到服务器并执行以下操作:
java com.foobar.FooBar
或:
java -jar FooBar.jar
答案 3 :(得分:1)
如果你的webhost有java可用,你可以尝试从php cronjob执行它而不需要ssh:
<?php system('java -jar /path/to/your/program.jar'); ?>
Cron作业很容易从cpanel完成。(PS上面是php文件的代码,它不是你放在cron页面中的,你把php -f /path/to/php/file.php放进去了cron页面)