IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux 布署Asp.net Core 6.0 应用 (宝塔面板) -> 正文阅读

[系统运维]linux 布署Asp.net Core 6.0 应用 (宝塔面板)

云服采用阿里云的操作系统镜像

  • Alibaba Cloud Linux 3选择Linux kernel 5.10 LTS,同时默认搭载GCC 10.2、binutils 2.35、glibc 2.32等基础软件。

1。设置服务器远程连接密码,并远程连接服务器(浏览器连接即可)

2。注册登录宝塔,获取安装链接。注意不要选择在线安装,会有失败的几率

?

虽然 宝塔说明是只能安装于CentOs7.x。但实测在号称兼容CentOs8.x 的 Alibaba Cloud Linux下可以正常安装和使用。

安装成功出现以下内容,此时默认端口为8888,注意服务器的防火墙或者安全组,要做端口开放

?

?登录宝塔面板,用给定的用户名密码,绑定宝塔的账号。这个是自己在宝塔注册的账号密码

3。安装nginx第一次登录,会跳出安装推荐。可以根据需要安装。这里我只需要nginx,所以只安装nginx

?开始安装

?安装完毕?

?更改默认端口。宝塔面板左侧,面板设置

?

?

提交修改后,重新登录面板。注意,修改的端口要在服务器的防火墙(安全组)中放行

4。安装dotnet 运行时sdk。

??

更换端口后第一次登录终端,会要求重新输入密码,注意,此处密码是服务器的ssh密码,就是最开始重置的那一个

在终端中执行以下几个命令

sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm。这一步很重要,没有这一步,下一步不给执行

sudo yum install aspnetcore-runtime-6.0,如果只是发布,这个就够了

sudo yum install dotnet-sdk-6.0

安装完成后查看一下dotnet位置

which dotnet

?

dotnet 6.0默认是装在这里的,/usr/bin这个路径已经在path中,所以我们不需要再添加

上传打包好的程序文件。宝塔面板支持目录上传

?

特别要注意文件夹名,centos大小写敏感

6。再次打开终端,新建service文件,dotnet发布在linux上的原理是,先由sdk将dll文件解析并运行,然后由nginx反向代理来访问。所以要将dotnet程序运行起来,并将它注册为系统的service。

运行 vim /etc/systemd/system/myweb.service

文件内容:

[Unit]

Description=MyWeb



[Service]

WorkingDirectory=/www/myWeb

ExecStart=/usr/bin/dotnet?/www/myweb/myweb.Web.dll --urls=http://localhost:3000

Restart=always

RestartSec=10

SyslogIdentifier=myweb

User=root

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false



[Install]

WantedBy=multi-user.target

然后按ESC,然后输入:wq退出

注意:第一是大小写敏感,第二是dotnet 6.0安装时会默认路径,并且会将dotnet加入到/usr/bin,而这个路径已经加入到path,无需再添加了。

注意,ExecStart一行,/app/myweb/myweb.Web.dll换成你自己项目的dll文件

执行systemctl enable myweb.service

执行systemctl start myweb.service

执行systemctl status myweb.service,若看到绿色的active(running)字样说明服务正常启动了。

7。配置Nginx站点

?

?这里要注意,如果监听端口不是80,那么要在域名一栏里写上:xxx.com:xxxx(端口号),网站建立后,端口号无法修改。如果需要改,只能删除重建

添加站点后,点击设置

?可以将原本的内容删除掉。如果你对配置文件很熟悉,或者有特殊的东西要设置,也可以增加内容。这里我直接复制了MSDN上提供的模板

server {
    listen        80;
    server_name   localhost;//域名
    location / {
        proxy_pass         http://127.0.0.1:3000; //自定义端口号,需要在云服安全组或防火墙中添加规则(放开)
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

存盘退出

?

执行nginx -s reload 以刷新设置

此时网站可以正常访问

我发布的程序是asp.net core api 。发布过程与发布网站相似,但发布完成后发现swagger无法访问,但api的功能是可以使用的。

这里要注意:

服务端口号与监听端口号要不同才可以,防火墙(安全组)放行的是监听端口号。

至此宝塔面板下dotnet6.0布署完成。

补充说明:非宝塔面板下,可以用dnf代替yum

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 23:07:00  更:2022-04-07 23:09:44 
 
开发: 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 21:32:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码