我已经编写了服务器套接字 Java 应用程序(不是 Web 应用程序),并且我有一个在 Linux 机器上运行的服务器。如何部署此应用程序,以便我可以从任何应用程序的任何位置发出请求(假设该应用程序具有权限)。我是否应该在服务器机器上安装 eclipse/netbeans IDE,然后永久运行代码?或者是否有任何应用程序(如 tomcat/xampp)可以像 Java/其他 Web 应用程序一样运行我的服务器代码。
答案1
首先,您的问题缺乏任何研究努力,因为这是很多网站上很常见的事情。
或者是否有像 tomcat/xampp 这样的应用程序可以像 Java/其他 web 应用程序一样运行我的服务器代码。
是的。根据您的部署和代码库,您需要找到 Web 服务和应用程序之间的转换机制。Tomcat 是 Java 代码的完美解决方案,但还有很多其他解决方案可能更适合您的特定应用程序。
您应该先做自己的研究,然后在有具体问题时来这里。
答案2
这个问题很合理,但问得可能不太好。它是 Java 代码,所以你要在支持 Java 的 Web 服务器上运行它……其他任何东西都无法理解该代码。Tomcat 的替代品是 Glassfish、Wildfly/JBoss。但如果这只是一个轻量级的基于套接字的程序,那么它可能超出了你的需要,你很可能只需使用 Java SE 并从命令行运行已编译的“.jar”,如下所示:
Computer> java -jar <path>/<jar-name>.jar
确保终端具有创建/读取/写入套接字的相关权限。
答案3
正如 O King 指出的那样,使用 Java 运行已编译的 .jar 文件是可行的。如果您需要它无限期地运行而不必保持终端打开(如您的问题标题所示),则必须采取其他步骤。
'nohup' 可能是在结束 ssh 会话后保持某些程序运行的最简单的方法。
> nohup command-or-script-name &
让您的服务作为服务启动/停止/运行的方法和最佳实践略有不同,具体取决于您所使用的 Linux 发行版(您尚未提供)。