三步把asp.net core 3.1应用部署到centos7
一、编译发布Asp.net core 应用
直接使用vs2019编译发布后,通过ftp上传到centos的 /www/ 目录下,不再赘述。
二、centos安装asp.net core runtime和nginx
1、安装asp.net core runtime
#注册 Microsoft 密钥。注册产品存储库。安装必需的依赖项。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
#安装 .NET Core 运行时
sudo yum install aspnetcore-runtime-3.1
2、安装nginx
添加源:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装 nginx
$ sudo yum -y install nginx
Nginx常用命令
# 卸载 nginx
$ sudo yum remove nginx
# 设置开机启动
$ sudo systemctl enable nginx
# 启动 nginx 服务
$ sudo service nginx start
# 停止 nginx 服务
$ sudo service nginx stop
# 重启 nginx 服务
$ sudo service nginx restart
# 重新加载配置,一般是在修改过 nginx 配置文件时使用。
$ sudo service nginx reload
#查看nginx版本
$ nginx -v
3、使用nginx反向代理
在 /etc/nginx/ 目录下新建AspnetCoreDemo.conf,内容如下
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:5000;
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;
}
}
4、重新加载nginx配置
# 验证配置文件的语法
$ sudo nginx -t
# 强制 Nginx 选取更改。
$ sudo nginx -s reload
三、添加Systemd守护
1、Systemd service内容如下
路径 /etc/systemd/system/AspnetCoreDemo.service 新建文件
[Unit]
Description=AspnetCoreDemo running on Centos
[Service]
WorkingDirectory=/www
ExecStart=/usr/bin/dotnet /www/AspnetCoreDemo.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=AspnetCoreDemo
User=www-data
#Production:生产环境 Development:开发环境
Environment=ASPNETCORE_ENVIRONMENT=Development
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
2、Systemd基本操作命令
#启用
systemctl enable AspnetCoreDemo.service
#启动
systemctl start AspnetCoreDemo.service
#状态
systemctl status AspnetCoreDemo.service
#重启
systemctl restart AspnetCoreDemo.service
#关闭
systemctl stop AspnetCoreDemo.service
四、防火墙设置(不需要端口访问,可忽略此步)
1、开放端口
firewall-cmd --zone=public --add-port=5000/tcp --permanent # 开放5000端口
firewall-cmd --zone=public --remove-port=5000/tcp --permanent #关闭5000端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
三步把asp.net core 3.1应用部署到centos7的更多相关文章
- 一步一步迁移ASP.NET Core 6.0-Part2
.NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0. 上一篇博文中,跟大家详细介绍了中间件. ...
- windows/Linux下设置ASP.Net Core开发环境并部署应用
10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...
- ASP.NET Core ASP.NET Core+MVC搭建及部署
ASP.NET Core+MVC搭建及部署 一.创建项目: 1.选择ASP.NET Core Web Application(.NET Core) 注意框架 2.选择Web Application: ...
- ASP.NET Core Docker jexus nginx部署-CentOS实践版
本文用图文的方式记录了我自己搭建centos+asp.net core + docker + jexus + nginx的整个过程,希望对有同样需求的朋友有一定的参考作用. 本文主要内容如下: cen ...
- 一步一步迁移ASP.NET Core 6.0-Part1
.NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0 本文简单整理一下升级ASP.NET Co ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- 3、带你一步一步学习ASP.NET Core中的配置之Configuration
如果你是刚接触ASP.NET Core的学习的话,你会注意到:在ASP.NET Core项目中,看不到.NET Fraemwork时代中的web.config文件和app.config文件了.那么你肯 ...
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...
- 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用
创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...
- 运行Vue在ASP.NET Core应用程序并部署在IIS上
前言 项目一直用的ASP.NET Core,但是呢我对ASP.NET Core一些原理也还未开始研究,仅限于会用,不过园子中已有大量文章存在,借着有点空余时间,我们来讲讲如何利用ASP.NET Cor ...
随机推荐
- JS 通过年份获取月,季度,半年度,年度
原文请关注公众号 "酒酒酒酒",关注公众号 回复 "JS 通过年份获取月,季度,半年度,年度" 可获取源代码 功能描述: 实例化一个函数,给函数内传递不同的 ...
- Nuxt.js 应用中的 nitro:config 事件钩子详解
title: Nuxt.js 应用中的 nitro:config 事件钩子详解 date: 2024/11/2 updated: 2024/11/2 author: cmdragon excerpt: ...
- Clickhouse副本及分片
副本 副本的目的主要是保障数据的高可用性,即使一台 ClickHouse 节点宕机,那么也可以从其他服务器获得相同的数据 配置副本 1. zookeeper集群准备 2. Clickhouse准备两个 ...
- .NET Core 泛型底层原理浅谈
简介 泛型参考资料烂大街,基本资料不再赘述,比如泛型接口/委托/方法的使用,逆变与协变. 泛型好处有如下几点 代码重用 算法重用,只需要预先定义好算法,排序,搜索,交换,比较等.任何类型都可以用同一套 ...
- chcapter 2 量子力学介绍
2.4.3 约化密度矩阵 对于A,B 构成的两体系统,A的约化密度矩阵可通过对系统B partial trace: 具体的操作为:首先把 AB 密度矩阵写成所有 ' 基矩阵叠加' 的展开形式,即每一 ...
- LVM 使用与扩容总结
转载请注明出处: LVM(Logical Volume Manager,逻辑卷管理器)是一个用于Linux系统的磁盘管理工具.它提供了一种更加灵活的存储管理机制,可以方便地进行磁盘的扩容.缩减.快照以 ...
- 使用WebRTC技术搭建小型的视频聊天页面
目录 目录 参考资料 什么是WebRTC? 能做什么? 架构图 个人理解(类比) 核心知识点 核心知识点类比 ICE框架 STUN(协议) NAT(网络地址转换) TURN SDP(会话描述协议) W ...
- AI 实战篇:Spring-AI再更新!细细讲下Advisors
在2024年10月8日,Spring AI再次进行了更新,尽管当前版本仍为非稳定版本(1.0.0-M3),但博主将持续关注这些动态,并从流行的智能体视角深入解析其技术底层.目前,Spring AI仍处 ...
- swoole的安装
因为换了一台工作电脑 需要重新安装各种环境,这里简单记录一下swoole的安装步骤. 首先去下载它的git仓库: $ git clone https://gitee.com/swoole/swoole ...
- DoH(DNS on HTTPS)和DoT(DNS on TLS)协议详解
目录 目录 简介 详情 请求 DoH DoT 返回 DoH DoT c-ares的使用 打包 解析 简介 DNS over HTTPS利用HTTP协议的GET命令发出经由JSON等编码的DNS解析请求 ...