【问题标题】:How do we deploy a Pharo seaside web application?我们如何部署一个 Pharo seaside web 应用程序?
【发布时间】:2018-04-25 20:39:19
【问题描述】:

我知道在 Entreprise Pharo 一书中有一个很好的解释,用于在 Linux 服务器上进行部署生产。我按照教程进行操作,并且能够部署相同的项目。然而,该项目仅包含一个简单的类“MyFirstWebApp”,不包括 Seaside 框架。运行脚本如下:

ZnServer defaultOn: 8080. ZnServer default logToStandardOutput. ZnServer default delegate map: 'image' to: MyFirstWebApp new; map: 'redirect-to-image' to: [ :request | ZnResponse redirect: 'image' ]; map: '/' to: 'redirect-to-image'. ZnServer default start.

如果您有一个使用 Seaside 框架的包含许多类的项目怎么办?我对自己的 Seaside 项目重复了相同的过程,但是当我使用以下命令 ./pharo myapp.image run.st 启动 run.st 脚本时收到消息错误 WARequestContextNotFound。有什么想法吗?

【问题讨论】:

    标签: cloud smalltalk pharo seaside pharo-5


    【解决方案1】:

    您正在混合使用纯 Zinc 服务器委托和处理 Seaside 应用程序。 Zinc 为 Seaside 提供了一个“服务器适配器”,可以使用ZnZincServerAdaptor startOn: 8080(或您选择的任何端口)进行设置。

    如果您想运行 Seaside Web 应用程序,您必须部署一个安装了 Seaside 框架的图像,以及您自己的类(MyFirstWebApp 和朋友)。

    所以你的run.st 看起来更像:

    ZnZincServerAdaptor  startOn: 8080.
    ZnZincServerAdaptor default server debugMode: true.
    ZnServer default logToStandardOutput.
    
    "Here you register the Seaside application _class_"
    (WAAdmin register: MyFirstWebApp asApplicationAt: 'image')
        preferenceAt: #serverPath put: '/'.
    WAAdmin defaultDispatcher defaultName: 'image'.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2015-12-17
      • 2020-02-06
      相关资源
      最近更新 更多