三步把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 ...
随机推荐
- LiveData
ViewModel 添加依赖 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' activity_main.xml < ...
- 写代码被大语言模型坑之使用LocalDateTime比较两个时间差了几天
自从去年ChatGPT3.5发布后使用了几次,现在写代码基本上离不开它和它的衍生产品们了.一方面查资料很方便,快速提炼要点总结:另一方面想写什么样的代码一问就能生成出来,功能大差不差,稍微改改就能用, ...
- Vue绘制图片轮播组件【转载】
基本要求:页面加载,自动播放.鼠标悬停,停止播放.鼠标离开,继续播放.点击左右箭头切换上一张,下一张图片.下方小圆点显示当前位第几张图片. 示例代码: 结构html: <template> ...
- uniapp、nativeJS、H5+退出APP应用(IOS+安卓)
uniapp.nativeJS.H5+退出APP应用(IOS+安卓)阅读原文:https://mp.weixin.qq.com/s/Aru-DCcSHrNcuxJ6Q94QLQ直接扫码进入此链接可阅读 ...
- 题解:CSP-S2020] 函数调用
题解:CSP-S2020] 函数调用 一句话题意:给定一个有初始值的序列,支持如下三种操作: 1.单点加 2.全局乘 3.递归某些操作1.2.3 求最终的序列. 标签:topsort,动态规划,转化贡 ...
- 【Azure App Service】在App Service for Windows上验证能占用的内存最大值
问题描述 在创建App Service服务的时候,根据定价层不同,内存使用的最大值也有不同.但在实际测试中,发现内存最大只能占用2GB左右, 而定价层中内存分配明明是大于2GB(比如B3定价层的内存为 ...
- Nuxt.js 应用中的 vite:configResolved 事件钩子
title: Nuxt.js 应用中的 vite:configResolved 事件钩子 date: 2024/11/17 updated: 2024/11/17 author: cmdragon e ...
- Redis中常见的数据类型及其应用场景
五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String.List等类型进行存储. 各数据类型介绍: R ...
- Python网络爬虫第一弹
03.Python网络爬虫第一弹<Python网络爬虫相关基础概念> 爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那 ...
- Vim基本使用指南
一般模式:移动光标的方法 h或 向左方向键(←)光标向左移动一个字符 j或 向下方向键(↓)光标向下移动一个字符 k或 向上方向键(↑)光标向上移动一个字符 l或 向右方向键(→)光标向右移动一个字符 ...