我正在使用VisualStudioCommunity2022,我已经开发了一个带有MySQL数据库的web应用程序,它在GoDaddy主机和IIS中运行良好,当我试图将它部署到GoDaddy Linux主机而不是GoDaddy主机上时,问题就出现了。我尽了全力在Linux主机上部署它所需的步骤,当我与Go爹地服务台联系时,他们告诉我,我的问题没有任何解决办法。在Linux服务器上,特别是在ASP.NET服务器上,是否有发布过的GoDaddy Core?

发布于 2022-08-13 21:25:52
首先,在我看来,在一个平台上开发是一个非常非常不可能的想法,更糟糕的是,与您部署的操作系统不同。
接下来,您必须想到一个web服务器,就像您的桌面计算机。如果您说使用某些PDF库,则必须在计算机上安装PDF查看器或库才能使其工作。
web主机服务器也是如此。如果要在Linux上运行.net运行时,则必须在该Linux服务器上设置和安装.net运行时和系统。
您不能再为windows桌面构建程序,然后决定该程序现在是在Mac计算机上运行,还是在Android手机上运行。
那么,除了把你的网站和你的.net代码驱动的网站在那台Linux计算机上?
您还必须进入Linux计算机,并安装.net框架和所需的系统。
例如,如果您使用MySQL作为数据库?然后,该系统也必须安装在那个web服务器上。
如果您使用SQL server作为数据库呢?然后,您必须选择一个安装了SQL服务器的托管系统。或者更好的是,选择一个托管计划,然后您必须开发该服务器上存在的系统和软件。
那么,如果您决定使用PHP进行开发,那么MySQL呢?这不太可能在运行windows OS的网站上运行。
如果您决定将PHP与SQL服务器结合使用呢?然后,您必须确保web主机服务器(和计划)支持PHP,并且安装和支持SQL服务器。
除非您可以说在该服务器上安装SQL服务器?除非您能够在该服务器上安装.net运行时和系统?那么您就不能使用该托管计划,或者您可以找到一个托管计划:
让您安装这些系统。或者您选择支持用于开发该网站和代码的一组工具的托管计划。
你不能突然在Mac电脑上安装一些windows软件。
你不可能意外地为Linux开发一些软件,然后期望该软件能在windows计算机上运行。
那么,除非这个托管计划有所有的图书库,以及你以前用来开发软件的部分和部分?然后你的软件甚至不能接近能够工作。
所以,检查一下你的托管计划。它支持server还是MySql?也许它只有Postgres SQL支持。
Mabe服务器不支持PHP,所以您也不能使用它。
考虑到窗口托管计划--爸爸是什么--一个月多出2美元或3美元?
那么,为什么不使用、选择和采用一个基于windows的方案来代替基于Linux的方案呢?
简单的事?
您要么购买托管计划,检查工具和它支持的软件系统。然后,您必须选择同样的开发工具进行开发。
或者您选择一组开发工具来使用,然后找到一个支持用于开发的软件和系统的托管计划。
然而,无论是桌面还是网络开发?
你不能再在windows或Mac上安装Android软件了。你也不能再在windows桌面上安装Mac软件了。
因此,您必须确保给定的计算机(您的web服务器)拥有安装在该服务器上的所有软件系统和部件,以便您的软件运行。
在您说在.net上开发了几年之后,我建议您安装一台本地Linux计算机并运行,然后说花一两个月的时间来学习如何在该Linux计算机上运行.net网站。当然,这是可以做到的,但有大量的比特和部件,你必须安装,安装,学习使用,以及相当多的使这一切工作。
但是,您必须放弃这样一个愚蠢的想法,即任何旧的web服务器都将运行您创建的任何旧网站。
事实上,即使当您说使用Linux工具进行开发时,除非目标web服务器具有相同的数据库系统,以及开发所需的所有系统,否则?然后,您甚至不能将为Linux计算机开发的软件部署到该Linux web服务器上(除非它支持并安装了用于开发站点的所有系统和框架)。
直到你在这里呆了6个月,或者一年或2年?
我会支付额外的2美元,作为一个窗口托管计划,爸爸,并与此。但是,即使这样,您也必须确定所讨论的web服务器是否支持.net核心,并且使用了.net核心。或者如果没有,那么您在开发中使用了什么.net框架版本?如果web服务器没有该框架,那么您就不能使用该托管计划。例如,最新的.net框架(非核心)是4.8版,但有些网站托管计划只是最近才采用并支持.net 4.8。因此,您必须使用.net 4.5,甚至可能使用.net 4.0作为您的开发平台。
因此,您必须始终根据目标web服务器上存在的软件和系统来开发软件。
在我们这个行业中,从来没有像“只发布”这样的东西存在于任何旧的web服务器上。这对于桌面计算机或web服务器计算机框的工作方式并没有太大的不同。
我还应该指出,asp.net需要IIS服务器,而不是Apache服务器。那么,.net核心如何以及如何在运行Apache服务器的Linux盒上发布工作呢?
在发布期间,您包括一个与IIS兼容的web服务器。然后将Apache配置为将所有请求转发给IIS (如果您有疑问,这个低脚打印web服务器称为Kestrel )。
因此,不仅需要该web服务器上的.net核心运行时,而且还需要IIS服务器的一个工作副本。事实证明,.net核心运行时和包含的IIS服务器都可以作为.net核心发布到Linux服务器的一部分。(要做到100%清楚,您的服务器必须运行CentOS兼容版本的Linux)。
完成此发布后,仍然必须配置Apache将所有请求转发到与IIS兼容的web服务器。
https://stackoverflow.com/questions/73346866
复制相似问题