.net core 项目部署linux系统全过程

1.阿里云esc服务器配置

 使用Xshell远程连接阿里云服务器 - 程序员大本营使用Xshell远程连接阿里云服务器,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/2750375233/

     配置完之后 绑定密钥对。   保存密钥文件到桌面。

2.安装xshell

 家庭/学校免费 - NetSarang Websitehttps://www.xshell.com/zh/free-for-home-school/

3.使用xshell连接接阿里云服务器

使用Xshell远程连接阿里云服务器 - 程序员大本营使用Xshell远程连接阿里云服务器,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/2750375233/阿里云/腾讯云服务器如何创建及使用密钥的教程 - boke112联盟阿里云 ECS 后台提供了创建 SSH 密钥对功能,腾讯云服务器也内置创建 SSH 密钥功能,它们的目的都是使用密钥来提高 SSH 连接的安全性,毕竟相对于几位数的登陆密码来说,2048 位密钥显然更安全。阿里云 ECS 服务...https://boke112.com/post/5462.html     

按照第一个链接配置后,发现有问题,报错提示密钥加载失败,请确定输入的密码。

重启之后解决,果然是重启大法好。       

正确连接后会出现以下字样。

WARNING! The remote SSH server rejected X11 forwarding request.

Welcome to Alibaba Cloud Elastic Compute Service !

5.安装docker

  5.1安装工具包

yum install -y yum-utils

安装完成后的界面

5.2 设置镜像仓库(阿里云地址)

yum-config-manager \
 --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  执行后的界面

 5.3  更新yum 索引安装包

yum makecache fast

运行后的界面

 5.4安装启动docker

yum install docker-ce docker-ce-cli containerd.io #安装,可能会出错,多试几次
 
 

运行后的界面

 

systemctl start docker #启动

运行后的界面

docker --version #查看docker 是否安装完成

运行后的界面

 5.5Hello world

 docker run hello-world #初次自动下载镜像

执行后的界面

5.6 查看所有镜像实例

docker ps  -a

执行后的界面

 项目中添加docker 支持

 内容详解

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base #从应用市场中添加docker
WORKDIR /app #操作的目录
EXPOSE 80   #http端口
EXPOSE 443  #https默认端口
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build #找到镜像
WORKDIR /src   #找到工作目录
COPY ["NetCore3_12_30/NetCore3_12_30.csproj", "NetCore3_12_30/"] #拷贝当前项目
RUN dotnet restore "NetCore3_12_30/NetCore3_12_30.csproj" #存储一遍
COPY . .
WORKDIR "/src/NetCore3_12_30"  #找到目录
RUN dotnet build "NetCore3_12_30.csproj" -c Release -o /app/build #重新构造一遍

FROM build AS publish #发布一遍
RUN dotnet publish "NetCore3_12_30.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app   #指定拷贝目录
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "NetCore3_12_30.dll"] #执行终极命令

xftp 创建 发布文件夹

 复制发布后的文件到服务器上

 

复制dockerfile文件到服务器上

 执行命令

cd 20220110

执行后的界面

 根据dockerfile 文件构建镜像  为镜像命名

docker build -t core31v1.10 -f Dockerfile .

#注释----这段不用粘贴  core31v1.10 为名称  会执行dockerfile 中的命令。 从网上下载文件。等待时间较长

这里一遍过, 建议过程英文代码翻译一下,是否有报错。

执行命令 查看构建的镜像

docker images

运行指令

docker run -itd -p 5726:80  core31v1.10
启动 将服务器的 5726 端口映射到容器的 80 端口 对应实例core31v1.10
5726是宿主机端口 80是容器内部端口, 通过5726转发给容器的80端口

docker 启动进程很快 

运行后界面

执行命令

docker ps -a
查看所有容器 

结果如下   可以看到我们构建的容器

阿里云开放端口5726

 运行容器

docker run -itd -p 5726:80  core31v1.10
启动 将本地的 5726 端口映射到容器的 80 端口 对应实例core31v1.10

完成

发布方式二   新建文件夹 20220110_2

docker run -d -p 5727:80 -v /20220110_2/publishproject/WebApplication1:/app --workdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/WebApplication1.dll

执行后的界面

 提示内容是未找到镜像,从线上地址拉取镜像

重新执行语句,提示已成功。

执行命令  查看所有镜像,防止重复
docker ps -a
命令集合  XXX是镜像名称   可以写缩写,前5位,前6位  

停止容器实例
docker stop xxx   
启动容器实例  
docker start XXX
删除容器实例
docker rm -f XXX
 

使用nginx

 双击回话,重新建一个回话窗口来操作nginx 执行的命令,避免混乱。

docker 中搜索 nginx 镜像

docker search nginx

执行后的界面

 从仓库中拉取最新镜像

docker pull nginx 

执行后的界面

 

运行 nginx 

docker run nginx 

执行后的界面

 新建命令窗口查看镜像

docker ps -a

执行后的界面

 执行命令

docker exec -it  XXX/bin/bash    #进入所选实例的目录中,用来更改配置

执行后的界面

执行命令
ls
列出当前目录的所有文件夹

执行后的界面

 

cd etc   #打开etc目录

ls       #查看目录下的所有文件

cd nginx #打开nginx目录

ls       #查看目录下的所有文件

执行后的界面

 

#执行命令打开配置文件
cat nginx.conf

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将ASP.NET Core部署到Linux,您需要执行以下步骤: 1. 安装.NET Core运行时环境:在Linux上安装.NET Core运行时环境,以便您的应用程序可以在Linux运行。 2. 编译应用程序:使用.NET Core CLI编译您的ASP.NET Core应用程序。 3. 配置Web服务器:选择一个Web服务器,例如Nginx或Apache,并配置它以便它可以将请求转发到您的应用程序。 4. 部署应用程序:将编译的应用程序和所有依赖项复制到Linux服务器上,并启动应用程序。 5. 测试应用程序:使用浏览器或命令行工具测试您的应用程序是否在Linux运行正常。 请注意,部署ASP.NET Core应用程序Linux可能需要一些额外的配置和调试,因此建议您在开始之前仔细阅读官方文档和相关教程。 ### 回答2: ASP.NET Core 是一种跨平台的 Web 开发框架,可以在 Windows、Linux 和 macOS 上运行。本篇文章将介绍将 ASP.NET Core 部署到 Linux 上的过程。 首先,需要准备一台 Linux 服务器,可以选择云服务器或者本地虚拟机。在服务器上需要安装 .NET Core 运行时环境,可以参考 Microsoft 官方文档进行安装,一般需要执行以下命令: ``` sudo apt-get update sudo apt-get install dotnet-sdk-3.1 ``` 安装完成后,需要编写 ASP.NET Core 应用程序,并将其打包成可执行文件。 在 Visual Studio 或者 Visual Studio Code 中创建 ASP.NET Core 项目,然后选择“发布”选项,可以选择将项目发布到文件夹或者直接打包成可执行文件。如果选择打包成可执行文件,可以使用以下命令: ``` dotnet publish -c Release -r linux-x64 ``` 其中,linux-x64 表示将程序打包成针对 Linux 的 64 位版本,如果需要打包成其他版本,可以参考 Microsoft 官方文档进行修改。 打包完成后,需要将程序上传到 Linux 服务器上。可以使用 SSH 或者 FTP 等方式进行上传。上传完成后,在 Linux 中,需要给可执行文件添加可执行权限,使用以下命令: ``` chmod +x [可执行文件名] ``` 接着,进入程序所在的文件夹并启动程序,使用以下命令: ``` cd [程序所在的文件夹] ./[可执行文件名] ``` 程序启动后,可以使用浏览器访问 Linux 服务器的 IP 地址和端口号来访问 ASP.NET Core 应用程序。 需要注意的是,如果应用程序需要连接数据库等外部服务,需要在 Linux 服务器上安装相应的数据库和服务,并进行配置。此外,需要在 Linux 服务器上配置防火墙规则,允许外部访问 ASP.NET Core 应用程序所在的端口。 总结起来,将 ASP.NET Core 部署到 Linux 上需要完成以下步骤: 1. 安装 .NET Core 运行时环境; 2. 编写 ASP.NET Core 应用程序,并将其打包成可执行文件; 3. 将可执行文件上传到 Linux 服务器,并添加可执行权限; 4. 启动应用程序,并配置相应的数据库和服务; 5. 配置防火墙规则允许外部访问 ASP.NET Core 应用程序。 以上就是 ASP.NET Core 部署到 Linux 的过程,通过这种方式,可以更好地实现跨平台的 Web 开发。 ### 回答3: ASP.NET Core 是一种跨平台的开发框架,用于构建 Web 应用程序。ASP.NET Core 带有多种选项,其中之一是将开发的 ASP.NET Core 应用程序部署到 Linux 上。以下是 ASP.NET Core 部署到 Linux 的过程。 一、在 Linux 上安装 ASP.NET Core运行环境 首先,需要在 Linux 中安装 .NET Core 运行时环境和 ASP.NET Core。在 Linux 上, .NET Core 支持 RHEL、Ubuntu、Debian、CentOS、Fedora 和 Linux Mint 等主要发行版。 二、将 ASP.NET Core 应用程序打包为 Linux 适用的发布包 要将 ASP.NET Core 应用程序打包为 Linux 适用的发布包,需要打开终端并切换到 ASP.NET Core 项目源目录。然后使用“dotnet publish”命令生成发布包。 三、将发布包复制到 Linux 服务器 将应用程序的发布包复制到 Linux 服务器,可以使用 Secure Copy(SCP)来完成。在本地计算机上打开终端,输入以下命令: scp -r /pach/to/publish/folder username@servername:/var/aspnetcore/publish 四、创建 Systemd 服务 在 Linux 上为 ASP.NET Core 应用程序启用自动启动和自动重启,需要创建 Systemd 服务。可以使用编辑器打开 .service 文件,文件位置 /etc/systemd/system/myapp.service: [Unit] Description=MyApp ASP.NET Core Application [Service] WorkingDirectory=/var/aspnetcore/publish ExecStart=/usr/bin/dotnet /var/aspnetcore/publish/MyApp.dll Restart=always RestartSec=10 SyslogIdentifier=myapp User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target 五、启动应用程序 使用以下命令来启动 ASP.NET Core 应用程序: sudo systemctl start myapp 之后就可以在 Linux 上访问和使用 ASP.NET Core 应用程序了。 以上就是 ASP.NET Core 部署到 Linux 的过程。部署过程较为繁琐,但是使用 .NET Core 能够极大的提高跨平台开发的效率以及跨平台应用的可移植性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值