由于生产环境无法链接外网,只能通过离线部署的方式安装.Net Core Runtime
1、ASP.Net Core Runtime 安装
1.1我们使用微软提供的离线安装包进行安装。首先下载tar.gz的离线包,下载网址:https://dotnet.microsoft.com/download/dotnet-core/3.1
这里选择Linux对应的架构的离线包下载

1.2 在Linux中创建目录
mkdir -p /var/lib/dotnet
1.3 把压缩包上传Linux,解压到/var/lib/dotnet目录
tar zxf aspnetcore-runtime-3.1.1-linux-x64.tar.gz -C /var/lib/dotnet
1.4 创建软链接方式来设置环境变量
ln -s /var/lib/dotnet/dotnet /usr/local/bin
1.5 测试runtime环境是否安装成功
dotnet --info

2、Asp.Net Core站点服务部署

2.1 在服务器上创建应用的目录
mkdir /home/www
2.2 通过FTP等工具将VS打包好的部署包上传到该目录
2.3 测试站点是否正常运行
cd /home/wwww
dotnet AspNetCoreDeployDemo.dll
如下图所示

2.4 网页测试或者命令行测试能否打开该地址,如果打不开,请检查firewall端口是否开放
wget http://localhost:5000
这时候,窗口不能关闭,如果关闭就访问不到,下面要使用suppervisor或者systemd等工具进行后台守护进程。

3、Supervisor守护进程
3.1 上传离线包安装,并启动suppervisor
cd /app/supervisor
./run_supervisor.sh
3.2 查看supperisor运行状态

3.3 查看配置文件,并把后台界面端口关闭,可以看到会加载supervisord/下面的ini配置文件

3.4 创建AspNetCoreDeployDemo.ini文件
复制代码
#项目名
[program:demo]
#脚本目录
directory=/home/wwww
#脚本执行命令
command=dotnet AspNetCoreDeployDemo.dll
#环境变量
environment=ASPNETCORE_ENVIRONMENT=Production
#用户
user = root
#进程数
numprocs=1
#supervisor启动的时候是否随着同时启动,默认True
autostart=true
#当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=false
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#把stderr重定向到stdout,默认 false
redirect_stderr = true
#stdout日志文件大小,默认 50MB
stdout_logfile_maxbytes=10
#stdout日志文件备份数
stdout_logfile_backups=10
#日志输出
stderr_logfile=/app/supervisor/logs/demo/log_error.log
复制代码
3.5 重启配置中的所有程序
supervisorctl reload
3.6启动程序
supervisorctl start demo
3.7常用命令
复制代码
supervisord -v 查看版本号
supervisorctl 查看正在守候的进程
supervisorctl start 启动指定应用
supervisorctl stop 停止指定应用
supervisorctl restart all 重启所有应用
supervisorctl stop all 停止所有应用
supervisorctl start all 启动所有应用
复制代码
4、Nginx反向代理
4.1 下载离线包,用浏览器打开地址,选择您要下载的版本:http://nginx.org/packages/centos/7/x86_64/RPMS/

4.2 这里我们下载的是1.16.1版,上传到服务器,执行命令安装
yum install -y nginx-1.16.1-1.el7.ngx.x86_64.rpm
4.3 启动Nginx并设置开机启动
service nginx start
#或者
systemctl start nginx.service
systemctl enable nginx.service
4.4 查看Nginx版本
nginx -v
4.5 查看Nginx启动状态
service nginx status
systemctl status nginx.service
如图为正在运行状态:

以上,Nginx已成功运行,安装的配置文件一般在/etc/nginx/nginx.conf

4.6 在/etc/nginx/nginxd/目录下创建站点的配置文件
复制代码
vi /etc/nginx/conf.d/demo.conf

server {
listen 80;
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.7 重载Nginx配置
nginx -s reload
以上,反向代理已部署完成。

.Net Core3.1 Centos离线部署相关推荐

  1. centos离线部署gitlab

    centos离线部署gitlab 有的时候因为工作环境需要,不能够连接互联网.而我们工作时又需要使用git进行合作开发,这时就需要在内网部署一个git服务端. 1.下载依赖软件包 yum instal ...

  2. CentOS系统自动下载RPM包及其所有依赖的包(离线部署)

    前几天我尝试去创建一个仅包含我们经常在 CentOS 7 下使用的软件的本地仓库.当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包.你必须去花一些时 ...

  3. 【内网福音】如何离线部署Rancher

    2019独角兽企业重金招聘Python工程师标准>>> 对于在公司内网环境中.无法访问互联网的用户而言,离线安装部署Rancher是解决问题的关键.本文是Rancher离线部署教程, ...

  4. K8S以及Kubesphere离线部署方案

    本篇文档描述kubesphere的离线部署过程,kubesphere的版本为3.1.1,kubernetes的版本为1.20.6,其他版本可能过程略有出入. 系统要求 系统 最低要求(每个节点) Ub ...

  5. linux 离线地图开发包,Mapbox本地离线部署

    一 离线部署说明 从官网抄一个HelloWorld的例子,完整代码如下: Display a map body { margin:0; padding:0; } #map { position:abs ...

  6. Fabric 2.3.2离线部署

    Fabric离线部署 联盟链及Hyperledger Fabric简介 联盟链定义: 根据去中心化程度的不同,区块链分化出三种不同应用场景下的种类: 公有链:全网公开,广大用户均可参与 私有链:所有网 ...

  7. Kubeadm HA 1.9 高可用 集群 本地离线部署

    Kubeadm HA 1.9 高可用 集群 本地离线部署 k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9 ...

  8. 蓝鲸运维平台5.1.28社区版离线部署

    部署介绍 本文简要介绍单机离线部署部分功能和3ip完整部署全部功能, 单机部署了蓝鲸的PaaS模块, CMDB模块, JOB模块, SaaS模块, 安装了SaaS应用节点管理(bk_nodeman)和 ...

  9. Linux离线部署epel源

    1. 先在本地联网机配置epel源 安装reposync和createrepo命令 yum install yum-utils # reposync在该包里 yum install createrep ...

最新文章

  1. 强烈推荐8个很实用的神级软件,让人相见恨晚
  2. set-matrix-zeroes当元素为0则设矩阵内行与列均为0
  3. [Jarvis OJ - PWN]——[61dctf]fm
  4. 零基础Python小游戏
  5. “指向指针的指针”的作用和应用
  6. 皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王
  7. 高中生用付款截图吃霸王餐近一年 网友:支付宝进来推销
  8. python开发环境哪个好 博客园_我选用的Python开发环境
  9. Effective C++ -----条款50:了解new 和delete 的合理替换时机
  10. win7设置环境变量未生效
  11. 零数开放许可链入选《互联网周刊》2021区块链应用创新TOP50
  12. 谈谈百度竞价的一些思路
  13. 智能家庭本周锋闻:小米终于还是做了空气净化器
  14. rabbitmq入门(四)Topics主题模式
  15. 浅谈移动端页面性能优化方案
  16. 2023年软考高级系统分析师考试时间及安排
  17. k8s pod OOMKilled 错误原因
  18. 小时候java大富翁游戏有哪些_成就你的富翁梦!童年经典《大富翁》系列10款游戏玩到爽!...
  19. 应用层Fiddler抓包工具
  20. Xcode7上使用autolayout

热门文章

  1. 原理 + 代码 | Apriori 算法与基于关联规则的购物篮推荐
  2. 基于vue+js的商城、购物网站 毕业设计 毕设源代码的实现和设计(1)首页
  3. Debian权威发音
  4. utf-8的英文字母和中文汉字是一个字符占几个字节
  5. 股票学习-量柱和k线-第十天------量线的生成机制--------谷底线
  6. 年轻人“新宠”冷泡茶:能否开启下一个“立顿时代”?
  7. minIO如何设置直接通过访问链接在浏览器中打开文件
  8. Python学习笔记--Flask小项目之仿豆瓣电影界面
  9. 蜡笔小新钢达姆机器人_蜡笔小新作文500字_小学四年级作文 - 作文库
  10. 一道题讲懂SQL盲注 / [第一章 web入门]SQL注入-2