我们正在部署的Matangle客户关系数据库,严格来说并不需要一个单独的数据库和网络服务器。在这个软件的Clojure层已经包含了一个称为HTTP Kit的网络服务器。
通常,在Java、Python还有其他服务器之前会用一个专门的网络服务器,最主要的原因是关注点分离。这一次,并不是因为业务隔离,而是非功能性需求,比如性能、负载均衡和安全上的考虑。目前,基于Java的网络服务器可能可以完美地提供静态内容,但是一个基于纯C语言的网络服务器,例如Apache httpd或者NGINX的性能更出众,内存更节省。使用一个前端网络服务器也很常见,例如SSL加速和负载均衡。
现在我们有一个数据库和一个网络服务器了。接下来需要构建和部署企业的应用程序。
在你的开发机上,在本书解压后的源代码文件夹里运行以下命令:
cd ch3/crml
lein build
我们现在创建了一个Java程序,可以部署和运行了。
尝试启动应用程序:
ein run
在一个浏览器里访问终端输出的URL就可以看到web界面。
怎样才能正确地把应用程序部署到服务器上呢?如果我们可以使用与刚才安装数据库
和网络服务器相同的命令和结构,那当然是最好了。我们将在第7章部署代码里介绍方法。
现在的话,在shell里运行这个应用已经足矣。