如何在Linux服务器上布署.Net Core

已举报 回答 关注

如何在Linux服务器上布署.Net Core

  • 回答数

    7

  • 浏览数

    5,922

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
如何在Linux服务器上部署.Net Core?.Net Core是.Net Framework的新一代版本,对于新手来说,将.Net Core部署在Linux服务器上是一件相当困难的事,为了帮助大家解决困难,今天小编要给大家分享如何在Linux服务器上部署.Net Core?
1、简介
一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比如Mono .NET)。直到微软推出完全开源的.NET Core。这个开源的平台兼容.NET Standard,并且能在Windows、Linux和MacOS上提供完全一致的API。虽然这个小巧的.NET框架只是标准.NET的一个子集,但是已经相当强大了。
一方面,这个小巧的框架可以让某些功能性应用同时运行在三个平台上(就像某些功能性的Python脚本一样),另一方面,这也可以让服务器运维人员将ASP .NET服务程序部署在Linux服务器上(特别是对于运行Windows Server较为吃力的服务器)。
2、部署.NET Core
由于我没有可用的macOS设备,我将仅用Linux(服务器)作示范。我作示范的服务器是CentOS7操作系统。
SSH连接至服务器,安装.NET Core的依赖项:

然后从微软官方获取.NET Core的主程序:

如果你的服务器不能正确访问这个地址,你可能需要手动访问后面的地址,下载完毕之后,用任意一种方法传递进服务器,并命名为dotnet.tar.gz。
执行指令将组件解压至指定的位置:

创建链接以在任何路径下直接引用dotnet指令:

至此,.NET Core框架应该就在你的服务器上搭建好了。
3、尝试部署一个ASP .NET服务程序
在本地计算机上,修改Visual Studio功能,确保这一项是被安装的:

启动Visual Studio,新建一个ASP .NET Core项目:

类型选择Web应用程序。我们不对示例作太大的修改,仅仅是为了演示ASP .NET运行于.NET Core的状况。在项目资源管理器内打开Program.cs,依然是熟悉的C#代码:

为了能正常运行,我们稍稍修改代码,让host的对象初始化器看起来是这个样子:

保存工程,将整个解决方案上传至服务器。再次连接服务器,导航到你存放工程文件的目录下,执行指令:

该指令指挥.NET Core恢复这个工程引用的包,耐心等待指令执行完毕。
接着,执行指令:

这条指令将使.NET Core编译并运行这个工程。控制台没有错误信息并产生类似输出,你的ASP .NET Core应用程序就应该在正确运行了:

试着在任意设备上访问你服务器的IP地址(或者域名),如果能正确加载默认页面,你的.NET Core环境就算部署完毕了:

这个.NET框架只是.NET标准的一个子集,不一定能100%兼容一个复杂的ASP .NET服务程序。但是利用这个框架,你可以把服务器切换至Linux系统,却仍然采用ASP .NET作为服务程序的具体实现方法。你也不必为了调试运行于Linux的服务程序而专门去配置一个Linux工作环境——因为.NET Core也可以运行在Windows上,Visual Studio本身就支持使用IIS Express来本地调试一个ASP .NET Core应用程序。
取消 评论
做个阿帕奇服务器.
取消 评论
部署项目, 按照部署方案进行就好了, 估计是不会使用lnux服务器?
wo都一直在线, 可以help下
取消 评论
将linux中的PHP部署在windows系统上了解过,但将windows 的ASP部署在linux没听过~~~~
告诉你永远不要指望微软对阿帕奇,PHP,以及MySQL去支持他们.....要不怎么显出微软牛X呢!!!!
建议用PHP重写代码,用Dreamweaver很容易实现的,跟写ASP的差不多,就是多注意下后台的问题!!!
要不你去查下ASP转PHP代码的问题,或许对你有帮助!!!
取消 评论
1. 在项目根目录下: Shift + 右键 选择【在此处打开命令窗口】
2.在命令窗口中执行: mvn compile package -Dmaven.test.skip=true -Ptest
3.可能要等待一段时间
4.把使用WinScp把 war包上传到指定的目录 例如:【lottery-admin.war】,上传到服务器上的,【/app/123.456.789】文件夹下,
5.cd 命令切换到 目录【/app/123.456.789】下,解压包命令:jar -xvf lottery-admin.war
6.返回命令 【../ 】 返回 一层
5.tomcat在【 /opt/tomcat-18080】下 cd 命令切换到】/opt/tomcat-18080/】下!
取消 评论
可以啊,linux你想配多少都可以,配置里端口不冲突就行了
取消 评论
用到工具:SecureCRT、WinSCP 1.首先用maven将项目打成war包,eclipse:选中项目右键-->run as-->maven package 2.copy空的Tomcat项目到linux服务器中,改端口 3.将打包成的war包copy到Tomcat中webapps下 4.在bin目录下启动startup.sh 5.操作命令 进入bin目录: [root@localhost neco-tomcat-6.0.35-8094]# cd /opt/neco-tomcat-6.0.35-8094/bin/ 对文件夹赋权限 :[root@localhost bin]# chmod 777 -R /opt/neco-tomcat-6.0.35-8094/ 启动tomcat服务:[root@localhost bin]# ./startup.sh 关闭服务: [root@localhost bin]# ./shutdown.sh /opt/neco-tomcat-6.0.35-8094/webapps 查看日志信息:[root@localhost bin]# tail -222f /opt/neco-tomcat-6.0.35-8094/logs/catalina.out
取消 评论
ZOL问答 > 如何在Linux服务器上布署.Net Core

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?