| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 麒麟服务器上安装.Net Core环境并发布web网站 -> 正文阅读 |
|
[系统运维]麒麟服务器上安装.Net Core环境并发布web网站 |
本文主要记录在麒麟服务器上安装.Net Core的运行环境,并运行.Net Core webApi程序。 准备工作我使用的是华为云主机,操作系统为:银河麒麟高级服务器操作系统V10,CPU为鲲鹏,架构为Arm64。 如何购买一台云主机?各位自己在网上搜索吧! 由于麒麟系统是基于linux系统的,所以以下操作同样适用于linux系统。 .Net Core版本: 5.0 在window系统上,使用visual studio 2019创建一个.net core 5.0的webApi应用程序,编译后发布到D:\publish目录下。目录名称不一定是publish,可以任意命名。我们的最终的目的是要将我们编写好的webApi应用程序文件夹上传到linux服务器上,并启动web服务。 登录Linux服务器首先安装putty工具,点此下载。 这个工具可以用来远程登录Linux服务器。当然,登录后仍然是命令行的方式。 安装完成后,打开PuTTY软件,输入IP地址,然后点击"Open"接口即可打开终端窗口。 下载.net 5.0 SDK此处采用原始的方式来安装,即下载.net 5.0 压缩包安装。 打开.net 5.0的下载页面,即可看到各种操作系统版本的SDK,见下图。 由于我选用的麒麟服务器为Arm64架构的,因此选择Arm64。读者根据服务器的需要,点击相应的版本。 在Linux终端输入下面命令即可下载(同样的原理可以下载其它版本的.net sdk,只要更换对应的下载地址接口):
下载完成后如图所示,最终的文件名为"dotnet-sdk-5.0-400-linux-arm64.tar.gz"。 安装.Net 5.0 SDK, 并创建dotnet环境变量linux 终端里采用以下命令,在HOME目录下创建dotnet文件夹,并将刚下载好的压缩包解压在其中;然后创建环境变量。
上述后面两个命令"export"用于设置环境变量,但是这种方式每次登录都需要输入,很不方便。可以直接通过修改文件的方式一劳永逸的解决,具体如下:
然后保存退出即可。使用vim命令打开文件修改、编辑、保存退出的命令自行查询,此处不再详述。 可通过"dotnet --info"命令查看安装后的.Net版本信息,见下图。.net sdk安装完成后,包含了.net runtime和asp.net core runtime。 下面阐述一下如何部署.net core web程序。 前面说过,我们已经在windows系统下编译好web应用程序,并发布到文件夹publish中(在D盘根目录下),我们需要将此文件夹上传至linux服务器的“Rocket”文件夹中,Rocket文件夹也是任意指定的。 上传文件至linux服务器首先要在Windows系统里将需要发布的文件上传到linux服务器上。 那么,如何上传文件到远程的linux服务器? 安装putty工具后,它提供了pscp命令用来上传或下载文件。 打开windows系统的控制台(cmd),通过以下命令可将D盘的readme.txt文件(需要有此文件)上传到linux服务器的rocket目录(之前创建好的)下,其中124.71.167.97是我的linux服务器地址,替换为你的即可:
之后提示输入linux服务器的密码,输入正确后,即可成功上传文件,见下图。
注意,上述命令是在windows系统的控制台里输入的,不是在Linux服务器终端窗口里输入的!! 启动网站现在,linux服务器上有了.net core运行环境,也有了需要发布的网站内容(/rocket/publish文件夹)。 1. 进入需要部署网站的文件夹:publish文件夹;
上述命令启动网站后,访问的端口为80,这样我们在浏览器里访问的时候就可以不需输入端口号了;当然你也可以设置其它的端口号。 注意!!AeroSpace.Rocket.WebApi.dll就是publish文件夹中的主文件l。 Linux路径问题在部署.net core webApi应用程序时,发现如果内部有读取文件的语句,则必须格外注意。
但是在Linux运行下,path1的值为:" /root/rocket/publish/Data\Rocket\Facilities.dat"。 Linux系统下,路径使用“/”,而我们使用了"",所以会出错。而"/“路径分隔符在Windows系统里也可以,因此,最保险的办法是在编写.Net Core程序时,全部使用”/"符号用作路径分隔符。 因此,将上述代码的写法改为下面形式即可:
此外,文件名为中文也不行!待后续解决! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:46:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |