.net core程序部署到 阿里云

.net core程序部署到 阿里云,第1张

使用VS创建一个WebApi项目:

发布后生成的文件

1.如果已经安装了其他的 *** 作系统,可以重新更换 *** 作系统。

自定义的密码就是后面用远程工具进行连接的,登录密码和登录名。

安装组其实就是用来放行端口的。通俗来说就是管大门的。具体的可以参考这个文章:: 阿里云安全组详细解说

宝塔可以让你通过浏览器可视化 *** 作云服务器,允许你在一定程度上可以像使用windows一样使用Ubuntu系统

直接去微软官网查找,对应版本上的dotnet运行环境相关 *** 作,此处的连接 在unbuntu上安装.net core 。直接在Xshell执行相应的命令行,复制粘贴就可以了。具体 *** 作如下

1.使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。在终端中,运行以下命令:

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

sudo apt-get update

sudo apt-get install -y apt-transport-https &&

sudo apt-get update &&

sudo apt-get install -y dotnet-sdk-3.1

4.可以执行下边的命令,来运行一下试试,如果安装成功,会有反应,如果没有安装上,会提示错误

使用实例名称与密码将 WinScp 连接到云服务器,连接成功后,进入home 目录,普通用户都是在home 目录下进行 *** 作,一般你也可以建立一个自己的文件夹,把东西都放在同一个文件夹里,我这里创建了demo文件夹。将左侧本地文件直接拖拽到右侧的demo文件夹中,就可完成文件上传到云服务器。

在项目文件目录下运行下面命令:

发现 http://<云服务器公网IP>:<端口号>在浏览器根本打不开网页,于是

查看端口5000是否正常

发现5000端口,只对本地127.0.0.1有效,当然我们客户端没法访问了,此时有两种方法可以云解决

登录到宝塔,进入管理页面

此时再进行第五步,运行起项目,使用Nginx配置的端口80,就可以在浏览器中访问到了。

完成上面步骤后,虽然可以访问了,但当Xshell关闭后,就不可以访问了。这是因为Xshell启动的项目是前台进程,我们需要让项目启动变动后台进程。

守护进程是安装一个类似于Windows Service一样的服务, 能实时监控程序状态,异常退出时能自动重启。Supervisor 是用Python开发的Linux/Unix系统下的一个进程管理工具。它可以使进程(类似Windows Service)脱离终端,变为后台守护进程(daemon)。能实时监控进程状态,异常退出时能自动重启。详细文档请查看官网。配置守护进程Supervisor, 让我们的程序能365天24小时不间断运行。

安装成功后,supervisor就会默认启动,有很多方法添加进程,看了很多博客上的介绍和加上我的实际使用,我认为一下方法最好用,将每个进程的配置文件单独拆分,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名,例如dotnetdemo.conf定义的一个简单的HTTP服务器

到此,就可以长久正常访问项目接口了。

supervisorctl 使用说明

supervisor启动和停止的日志文件存放在/var/log/supervisor/supervisord.log

注意:显式用stop停止掉的进程,用reload或者update都不会自动重启

1、首先登录阿里云控制台,进入云产品下的“ECS”(d性计算服务);

2、点击“实例”,进入实例列表,点击“创建实例”;

3、选择“ *** 作系统”,如果是Windows系统,则选择“Windows Server 2012 R2”;

4、选择“实例规格”,可以根据自己的需要进行调整;

5、点击“网络”,可以选择网络类型,如果是公网实例,则可以选择“公网实例”;

6、点击“存储”,可以为实例添加存储空间,如果需要添加更多的存储空间,也可以点击“添加数据盘”;

7、点击“安全组”,可以选择安全组,也可以自定义安全组;

8、点击“高可用”,可以选择是否开启高可用;

9、点击“确认购买”,可以查看实例的购买信息,确认无误后即可购买;

10、点击“管理”,可以查看实例的详细信息,以及实例的启动、停止、重启等 *** 作;

11、点击“远程登录”,可以进行远程登录,完成文华财经程序化的配置。

1,APP应用需要什么样的云服务器?

为了帮助大家了解如何使用阿里云云服务器及相关应用,阿里云的移动云团队开发了一个简单的APP应用:移动云相册,其中使用了ECS主要用作部署云相册的API服务(图片信息调用、图片列表调用)和图片缩略图处理,因为这个应用服务端使用了JAVA语言开发,因此在上面安装tomcat来部署应用。

具体部署

1)远程登录:

第一次购买ECS后,会把该ECS服务器的root账号、密码发送购买者的邮箱,然后购买者可以通过远程登录到ECS服务器,具体远程登录可以参考如下:

Windows:http://help.aliyun.com/manual?spm=5176.383518.5.16.4lLZzn&helpId=59

Linux:http://help.aliyun.com/manual?spm=5176.383518.5.16.4lLZzn&helpId=59

2)安装web环境

根据自己应用特点选择安装相关web服务器tomcat或者jetty,阿里云提供了一条龙安装部署脚本,为开发者提供了更多的方便,请参考如下链接:http://help.aliyun.com/manual?spm=0.0.0.0.RGeYy4&helpId=129

3)打包应用

将web源码下载到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用类似ant打成war包。

4)上传war包

Linux下面可以使用sftp上传war包,上传war包到指定目录后进行解压,具体使用方式参考:http://help.aliyun.com/manual?spm=0.0.0.0.PnfpSL&helpId=1848

5)启动web服务

将tomcat或jetty服务启动

6)配置反向代理、绑定域名

具体配置信息参考:http://help.aliyun.com/manual?spm=0.0.0.0.Ti7iuA&helpId=532, http://help.aliyun.com/manual?spm=0.0.0.0.MKbFj1&helpId=65

2,APP应用如何把图片存到云存储服务器中?

图片类APP应用的架构核心在于大量小文件的存储与访问,在文件数量较多的情况下将文件直接存储在硬盘上将极大影响应用的访问效率。阿里云存储服务OSS对海量小文件的存储及管理具有很大优势,图片不从服务端下载,减少了服务端压力。阿里云的OSS的备份机制也保证了文件的存储安全,其存储容量可以无限扩展,每秒请求数超过50000次,多线BGP网络确保全国各地访问流畅。

使用阿里云OSS步骤:

1)登录阿里云官网(aliyun.com)开通OSS

2)获取KEY及密钥

3)下载SDK

(JAVA版下载地址为:http://bbs.aliyun.com/job.php?action=download&aid=38817

帮助手册: http://aliyun_portal_storage.oss.aliyuncs.com/oss_api/oss_javahtml/index.html )

4)开始APP开发

很简单吧,下面是一个使用阿里云的OSS上传图片的代码样例:

StringupLoadURI = OSSClient.generateUploadUrl(Constants.SERVER_URL.GENERATE_URL,fileName, null)

int status =OSSClient.uploadFile(upLoadURI, path)

3,APP上云后如何使用云数据库?

为了帮助大家了解如何使用阿里云云服务器及相关应用,阿里云的移动云团队开发了一个简单的APP应用:移动云相册,其中使用了RDS中提供的MYSQL服务,数据库中主要存储了用户上传的图片信息,包括原图、缩略图的信息及存储地址,通过WEB端API向客户端提供数据调用。

使用阿里云RDS和使用本地数据库基本上没有区别,使用样例如下:

1)创建数据库实例

使用阿里云账号购买RDS后,可以创建数据库实例。

2)创建数据库以及管理账号

创建数据库名称以及管理账号,用于应用程序调用数据库连接。

3)访问数据库:

创建完数据库(test)后,在数据库test里添加账户:test、密码:test,可以在RDS控制台查看到数据库相关信息,从中能够得到数据库的外网地址如:xxxx.mysql.rds.aliyuncs.com,可以使用应用程序连接数据库,javajdbc连接数据库示例代码如下:

String url = “jdbc:mysql://xxxx.mysql.rds.aliyun:3306/test”

String username = “test”

String password = “test”

try{

Connection con = DriverManager.getConnection(url ,username , password )

}catch(SQLException e){

e.printStackTrace() //需要对异常做处理

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7886719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存