当前位置:首页 > 问答聚合 > 正文内容

sentos上部署.net网站(linux部署netcore)

zhuangbi888.com2022-05-19 10:50问答聚合69

本篇文章给大家谈谈sentos上部署.net网站,以及linux部署netcore对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文导读目录:

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

如何在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应用程序。

centos 7.3可以使用.net core吗

建议参考: 在linux centos7上部署asp.net core应用

在linux centos7上部署asp.net core

net开发的程序能在centos上运行吗

C++撸桌面app通常都是辣鸡。基本上都有(大量)逗比接口的私货需要额外学习;要么就是干脆包装Web内核糊了一坨,不仔细优化就渣体验,而且依赖库的二进制体积都不小,部署成本很容易明显不符合题主要求。

如果只是做单独的app(而不是搞框架二次开发),Qt勉强凑数。虽然金玉其外败絮其中,而且经常不是纯C++(依赖moc/QML),但矮子里面挑将军,整体工具(构建工具、设计器、包括VS在内的IDE集成)完成度相对比较高也支持多个主流平台(Windows/Linux/OS X等),许可证要求宽松(LGPL),可选商业支持,对单独的app项目来讲风险比较低。虽然需要发布的二进制体积还是偏大,但容易做到比主流Web和.NET之类的方案紧凑,自己控制要发布的动态库(Windows上一般是一些dll,不需要注册)对普通app项目不算太不友好而可以接受。

linux centOS下怎么配置web服务器

把在本地开发的php+mysql程序通过FTP架设到web服务器,并能通过域名正常访问网站。

END

步骤/方法

第一步:创建FTP

================================================================

chmod go+rwx /data 《给data分配权限》

cd /data 《进入data分区》

mkdir web 《建立web目录》

chmod go+rwx /data/web

cd / 《回到根目录,个人操作习惯,可跳过这步》

useradd ftpusername -d /data/web/cqwebseo.com 《添加FTP,ftpusername改为你的FTP用户、cqwebseo.com改为你FTP对就的网站目录》

passwd cqwebseo 《设置FTP密码》

echo cqwebseo /etc/ftpchroot 《设置FTP用户只访问自己网站目录内的文件,不能访问其它目录 。这点很重要》vi /etc/vsftpd/vsftpd.conf 《修改FTP配置文件》

注:按一下i进入到编辑模式,修改完后按一下ESC退出编辑模式,再输入《:wq》(其作用是保存改修改并退出)《:q!》退出不保存《:q》没有做过修改用这个退出

idle_session_timeout

data_connection_timeout

找到这两个,,修改其值大于900,如果不修改这个的话,,FTP链接很慢

#xferlog_file

找到这个,删除# 。。。作用是记录FTP的日志

/etc/init.d/vsftpd restart 《重启FTP后配置文件才会生效》

到此第一步OK 你可用FTP登陆啦!

注:我这配置有这个问题没解决,登陆报超时,但你耐心的等一会,就会链接好,如果有盆友知道解决方法的,请帮解答一下。。。谢谢。。

======================================================================

第三步:配置mysql

==============================================================================

/usr/local/mysql/bin/mysql -uroot -p 《登陆mysql,按一下ENTER然后输入mysql密码,默认和万网root密码一样》

use mysql; 《选择mysql表》

grant all on cqwebseo_db.* to cqwebseo@localhost identified by 'cqwebseomysql'; 《添加一个数据,有所有权限,cqwebseo_db为数据库名,cqwebseo为用户名,cqwebseomysql为密码》

flush privileges; 《不用解释吧,真就度娘一下。》

exit; 《这个也不用说吧》

/usr/local/mysql/bin/mysqladmin -uroot -p8y6v8a3c7u shutdown 《停止mysql》

/usr/local/mysql/bin/mysqld_safe 《启动mysql》

到此。。就Ok。注意。。注意。。。。。分号 分号 分号

/usr/local/mysql/var 《数据库存放目录》

================================================================================

第二步:配置httpd.conf

=======================================================================

echo hi! Tis test! /data/web/cqwebseo.com index.php 《在cwebseo.com里面建立一个内容为hi!Tis test!的index.php文件》

vi /var/www/conf/httpd.conf 《进入主战场》

按上下键,翻到文档最后,然后加入下列表代码(不知道怎么加进的,看第一步的注意事项)

VirtualHost *:80

DocumentRoot /data/web/cqwebseo

DirectoryIndex index.php

ServerAdmin [email protected]

ServerName cqwebseo.com

ServerAlias www.cqwebseo.com

#ErrorLog /data/web/sanmao/log/error.log

#TransferLog /data/web/sanmao/log/access.log

/VirtualHost

简单说一下。。。。。。网上有很多这方面的资料

DocumentRoot /data/web/cqwebseo 这个就是网站的决对地址 说白就是你分配给他的FTP地址

DirectoryIndex index.php 这个表示网站默认首页是index.php

ServerAdmin [email protected] 服务管理员的邮箱

ServerName cqwebseo.com 这个你懂的

ServerAlias www.cqwebseo.com 这个也不需要解释吧

余下的两个被我注释掉喽,,,意思是网站的日志文件存放地

var/www/bin/apachectl restart 重启apachectl

var/www/bin/apachectl stop 停止apachectl

var/www/bin/apachectl start 启动apachectl

OK到这里。。第二步就完。。。你能输入网址。。。看到这个目录啦。。不过有个前题条件。。这个个域名要解析过来了滴哈。。不然的话。。你就不要输入域名那两个。。直接用你服务的IP地址访问也行的。。。。如果你操作正确啦。。就能看到网页上出现hi! Tis test!

centos局域网服务器怎么搭建

步骤如下: 打开终端(Ctrl+Alt+T) 键入#netconfig。 进去之后,选择IP V4。 在里面选择自动获取ip。或者固定ip,填写你自己想要的ip就行。 配好后还没完 健入#service network restart。 重启下服务就好了。

腾讯云函数不支持C#

C#语言由于需要编译后才可以在 CoreCLR 虚拟机中运行。因此在 SCF 中的使用方式,和 Python、Node.js 这类脚本型语言不同,和Java一样有如下限制:

不支持上传代码:使用 C# 语言,仅支持上传已经开发完成,编译打包后的 zip 包。SCF 环境不提供 C# 的编译能力。

不支持在线编辑:不能上传代码,所以不支持在线编辑代码。CoreCLR 运行时的函数,在代码页面仅能看到再次通过页面上传或 COS 提交代码的方法。

自定义.NET Custom runtime

Custom Runtime的封装工作就是要把各种trigger 的事件封装一个.NET Standard库,开发云函数。自 .NET Core 2.0 开始, 提供了名为 IHostedService 的新接口,有助于轻松实现托管服务,文章《ASP.NET Core 3.x控制IHostedService启动顺序浅探》有深入的实现分析,基于IHostedService 实现一个SCFHostService:

这里我们把SCF的Custom Runtime 抽象到ISCFHost 中

在SCFHost 类中完成Custom Runtime的业务处理,接收来自SCF 的事件,转发给函数进行处理,函数处理的接口 IFunctionInvoker:

默认实现了FunctionInvoker 把请求信息 返回给 SCF:

responseBody 代表了SCF函数的不同Trigger事件信息,我们可以根据不同的Trigger 定义不同的处理函数,例如我们处理HttpTrigger的函数为HttpFunctionInvoker:

上面我们已经完成了最小的MVP封装,利用.NET Core的依赖注入容器封装起来,我们定义了一个ISCFBuilder 来组装函数的配置和服务:

SCF 云函数开发

我们使用.NET Core的控制台程序来开发云函数,创建一个控制台程序, 引用Yhd.TencentCloud.SCF 包,把Program.cs 替换成类似代码:

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.DependencyInjection;

using Microsoft.Extensions.Hosting;

using Microsoft.Extensions.Logging;

using System.Threading.Tasks;

using Yhd.FindJob;

using Yhd.TencentCloud.SCF.Executors;

public class Index

{

static async Task Main(string[] args)

{

var builder = new HostBuilder()

.ConfigureSCF((context, scfbuilder) =

{

var configuration = scfbuilder.Configuration;

scfbuilder.Services.AddFindJob(configuration);

scfbuilder.Services.AddEasyCaching(options =

{

options.UseInMemory();

//use redis cache that named redis

options.UseRedis(configuration)

.WithJson()

;

});

scfbuilder.Services.AddTransientIFunctionInvoker, JobsHttpFunctionInvoker();

})

.UseConsoleLifetime();

var host = builder.Build();

using (host)

{

await host.RunAsync();

}

}

}

通过ConfigureSCF 可以添加函数的依赖服务,例如上面例子中的EasyCaching 以及函数的服务, 关键的一句是  scfbuilder.Services.AddTransientIFunctionInvoker, JobsHttpFunctionInvoker();  把函数的处理逻辑使用JobsHttpFunctionInvoker 进行注入。把函数的配置放到appsettings.json。

现在SCF 云函数有个问题是本地Windows开发问题,本地的函数逻辑的测试可以通过单元测试进行。还有函数打包必须在Linux环境下进行。

云函数部署

创建 bootstrap 文件

bootstrap 是运行时入口引导程序文件,Custom Runtime 加载函数时固定检索 bootstrap 同名文件,并执行该程序来启动 Custom Runtime 运行时。Custom Runtime 支持任意语言及版本开发运行函数,主要基于 bootstrap 引导程序由开发者自定义实现。其中,bootstrap 需具备以下条件:

需具有可执行权限。

能够在 SCF 系统环境(CentOS 7.6)中运行。

下面这个是 .NET Core 3.1的云函数 bootstrap 文件

#!/bin/sh

echo "Start dotnet bootstrap ~~~"

export DOTNET_ROOT=/opt/rt

export PATH=$(pwd):/opt/rt:${PATH}

dotnet ./index/bin/Release/netcoreapp3.1/index.dll

index.dll 就是我们开发的函数文件。

成功创建 bootstrap 和 函数文件 后,目录结构如下所示:

├ bootstrap

└ index

需要在Linux 下执行以下命令,设置文件可执行权限,并将其添加至 ZIP 包

部署包准备好后,可以通过 云函数控制台 来创建和发布函数

在腾讯云云函数计算上部署.NET Core 3.1的更多相关文章

阿里云函数计算上部署.NET Core 3.1

使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂.好在很多云厂商(阿里云.Azure等)提供了Serverless服务,借助于 ...

IIS上部署Net.Core

部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...

So Easy - 在Linux服务器上部署 .NET Core App

.NET Core 是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...

在IIS上部署 .Net Core 3.0 项目踩坑实录

在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreModuleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了 ...

在CentOS 8 上 部署 .Net Core 应用程序

在Centos 8 上 部署 .Net Core 应用程序     -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...

在腾讯云amp;阿里云上部署JavaWeb项目(Tomcat+MySQL)

之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

ASP.NET Core学习之四 在CentOS上部署.net core

一.安装CentOs 以前在大学学过linux,但是对命令行总是有一种深深的排斥感,几年之后,还是又回来了. 1.下载 现在没法FQ,就算是FQ网速也是蜗牛一样慢,我使用阿里云的镜像站进行下载速度还是 ...

【netcore入门】在Windows IIS上部署.NET Core 2.1项目

部署之前先检查下面2个先决条件是否满足 1.安装了 IIS 模块 win7 在 控制面板→程序和功能→打开或关闭Windows功能→勾选Internet 信息服务(Internet Informati ...

CentOS7系统上部署.net core程序

一.准备工作 首先安装 xshell 和 xftp ,前者用于SSH连接Linux服务器,后者用于FTP上传下载文件. xshell和xftp个人使用是免费的,下载地址 之后分别输入用户名和密码登录主 ...

关于sentos上部署.net网站和linux部署netcore的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

相关文章

ec在线客服官方网站(ect客服热线)

ec在线客服官方网站(ect客服热线)

今天给各位分享ec在线客服官方网站的知识,其中也会对ect客服热线进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文导读目录: 1、EC是什么在线客服? 2、在线客服软件哪...

主网站下建立子目录站(网站目录怎么做)

主网站下建立子目录站(网站目录怎么做)

今天给各位分享主网站下建立子目录站的知识,其中也会对网站目录怎么做进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文导读目录: 1、网站的二级目录如何建立 2、如何在现有的...

网站为什么要ipc备案(网站为什么要公安备案)

网站为什么要ipc备案(网站为什么要公安备案)

本篇文章给大家谈谈网站为什么要ipc备案,以及网站为什么要公安备案对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 文章目录列表: 1、代码静态分析服务需要多少的费用? 2、ICP备案是什么...

香港服务器域名备案(香港服务器 备案)

香港服务器域名备案(香港服务器 备案)

本篇文章给大家谈谈香港服务器域名备案,以及香港服务器 备案对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文导读目录: 1、我的企业网站服务器是香港的,现在要做百度推广,需要备案,但是香港服...

越南找服务器(越南 vps)

越南找服务器(越南 vps)

本篇文章给大家谈谈越南找服务器,以及越南 vps对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文导读目录: 1、越南服务器哪家的便宜些?有没有知道的 2、如何选择越南服务器最合理?性价...

源码建网站(网站源码建站)

源码建网站(网站源码建站)

今天给各位分享源码建网站的知识,其中也会对网站源码建站进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文导读目录: 1、如何使用源码建立网站 2、怎么用源码建立网站 3...

弹性云服务器是vps(弹性云服务器有哪些部分构成)

弹性云服务器是vps(弹性云服务器有哪些部分构成)

今天给各位分享弹性云服务器是vps的知识,其中也会对弹性云服务器有哪些部分构成进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文导读目录: 1、什么是弹性云主机,与vps相比有...

网站重新设计(网站重新设计会影响域名吗?)

网站重新设计(网站重新设计会影响域名吗?)

今天给各位分享网站重新设计的知识,其中也会对网站重新设计会影响域名吗?进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文导读目录: 1、网站改造设计的主要流程,谁知道? 2...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。