运行 网站 Api 2 Linux (mono/xsp4?)
Running Web Api 2 on Linux (mono/xsp4?)
我对 .NET Web API 开发和单声道都是新手,所以这个问题可能太基础了,但我一直无法找到部署 Web API Linux 上 xsp4 中的 2 个项目。有可能吗?
我能够轻松地 运行 ASP.NET 应用程序通过寻址他们的 .aspx 文件,但是网络 API 应用程序,一旦你发布它,只是一堆 .config和 .dll 文件。
如何在 xsp4 服务器中启动它,以便正确映射其中指定的所有路由?是从命令行完成的,还是需要配置文件?
这是行之有效的基本方法:
为 xsp4 创建一个配置文件,我们称之为 webapi.webapp。在配置文件中,定义这个应用程序:
<apps>
<web-application>
<name>MyWebAPI</name>
<vhost>localhost</vhost>
<vport>9090</vport>
<vpath>/</vpath>
<path>/home/me/MyWebAPI</path>
</web-application>
</apps>
老实说,我实际上并不知道 vhost 和 vport 是做什么的,但我暂时不需要弄乱它。关键是路径和vpath。 Path 是您的整个已发布 WebAPI 项目在主机系统硬盘上的目录的物理位置。 Vpath 是您在 URL 中指定的,用于访问您正在定义的此 Web 应用程序。由于我将 / 指定为 vpath,这意味着该服务器上的几乎所有路径都将转到我的应用程序。因此,如果我在应用程序内部定义了一个路由,例如“/webapi/v10/users”,然后使用 / 作为 vpath,它将通过 "localhost:9090/webapi/v10/users" 访问。 (请参阅下一步了解如何设置端口。)
您通过以下命令启动 xsp4:
xsp4 --appconfigfile webapi.webapp --port 9090
使用 appconfigfile 提供在步骤 1 中创建的配置文件的路径,并在此处设置服务器将侦听的端口。我不确定这与配置文件中的 vport 有什么关系,我没有费心弄清楚。
如果您需要 HTTPS,xsp4 似乎也支持它(根据其手册页),但我还没有尝试过。否则,我认为即使您不使用 mod_mono.
也可以将 Apache 设置为它的反向代理
我对 .NET Web API 开发和单声道都是新手,所以这个问题可能太基础了,但我一直无法找到部署 Web API Linux 上 xsp4 中的 2 个项目。有可能吗?
我能够轻松地 运行 ASP.NET 应用程序通过寻址他们的 .aspx 文件,但是网络 API 应用程序,一旦你发布它,只是一堆 .config和 .dll 文件。
如何在 xsp4 服务器中启动它,以便正确映射其中指定的所有路由?是从命令行完成的,还是需要配置文件?
这是行之有效的基本方法:
为 xsp4 创建一个配置文件,我们称之为 webapi.webapp。在配置文件中,定义这个应用程序:
<apps> <web-application> <name>MyWebAPI</name> <vhost>localhost</vhost> <vport>9090</vport> <vpath>/</vpath> <path>/home/me/MyWebAPI</path> </web-application> </apps>
老实说,我实际上并不知道 vhost 和 vport 是做什么的,但我暂时不需要弄乱它。关键是路径和vpath。 Path 是您的整个已发布 WebAPI 项目在主机系统硬盘上的目录的物理位置。 Vpath 是您在 URL 中指定的,用于访问您正在定义的此 Web 应用程序。由于我将 / 指定为 vpath,这意味着该服务器上的几乎所有路径都将转到我的应用程序。因此,如果我在应用程序内部定义了一个路由,例如“/webapi/v10/users”,然后使用 / 作为 vpath,它将通过 "localhost:9090/webapi/v10/users" 访问。 (请参阅下一步了解如何设置端口。)
您通过以下命令启动 xsp4:
xsp4 --appconfigfile webapi.webapp --port 9090
使用 appconfigfile 提供在步骤 1 中创建的配置文件的路径,并在此处设置服务器将侦听的端口。我不确定这与配置文件中的 vport 有什么关系,我没有费心弄清楚。
如果您需要 HTTPS,xsp4 似乎也支持它(根据其手册页),但我还没有尝试过。否则,我认为即使您不使用 mod_mono.
也可以将 Apache 设置为它的反向代理