.Net Core 在Linux服务器下部署程序--(3). 部署.net Core程序
- 确认第二步中的软件已安装完成
- lrzsz文件上传下载软件
- zip与unzip压缩包软件
- net core 相关软件
- 确认上述软件安装完成之后,开始部署程序
- 创建部署文件夹
- 我的习惯是在usr文件夹下新建publish文件夹,然后在publish文件夹中各创建各个程序对应的文件夹,在文件夹下back和front分别来存放前端和后端部署程序
- 由当前所在文件夹,进入usr文件夹
- 查看当前所在文件夹
- 进入usr文件夹 : cd /usr
- 查看当前所在文件夹
- 创建publish文件夹,并查看文件夹是否创建成功
- 创建publish文件夹 : sudo mkdir publish
- 查看文件夹是否创建成功 : ls
- 创建publish文件夹 : sudo mkdir publish
- 进入publish文件夹,并创建project1文件夹
- 进入publish文件夹 : cd publish/(可输入 cd publ ,然后按下tab键,系统会自动提示相关信息,按下两下tab键,系统会显示所有提示信息)
- 创建project1文件夹 : sudo mkdir project1
- 查看project1文件夹是否创建成功 : ls
- 进入publish文件夹 : cd publish/(可输入 cd publ ,然后按下tab键,系统会自动提示相关信息,按下两下tab键,系统会显示所有提示信息)
- 进入project1文件夹,创建前后端部署文件夹
- 进入project1文件夹 : cd project1
- 创建前端部署包文件夹 : mkdir front
- 创建后端部署包文件夹 : mkdir back
- 查看front和back文件夹是否创建成功 : ls
- 上传部署程序压缩包
- 输入文件上传指令,开始上传文件
- 进入back文件夹 : cd /usr/publish/project1/back
- 上传文件 : sudo rz
- 弹出上传文件框
- 查看文件上传进度
- 进入back文件夹 : cd /usr/publish/project1/back
- 确认文件是否上传成功
- 查看back文件夹下是否上传成功部署包 : ls
- 查看back文件夹下是否上传成功部署包 : ls
- 输入文件上传指令,开始上传文件
- 解压缩部署包
- 解压文件,查看文件是否解压成功
- 执行解压文件指令 : sudo unzip project1_p_back.zip
- 查看文件是否解压成功 : ls
- 执行解压文件指令 : sudo unzip project1_p_back.zip
- 解压文件,查看文件是否解压成功
- 部署租户平台后端程序
- 进入dll所在的文件夹,目前我这边解压之后就已经是dll的文件夹了,如果不是则需要进入到对应的文件夹
- 查看、编辑和保存配置文件
- 查看配置文件,此处以appsettings.Production.json为例 : sudo vi appsettings.Production.json
- 如果配置文件不正确,则需要编辑文件 : 输入 i
- 键盘移动光标到相应的位置,进行内容修改,修改完成后,按下esc键,退出文件编辑
- 输入 :wq,进行文件的保存
- 如果不需要修改文件,直接输入 :q 即可退出文件的查看
- 如果提示文件是只读情况,则输入 :q!,退出文件编辑保存,执行sudo chmod a+w appsettings.Production.json(chmod是修改文件访问属性的指令,a+w表示可读可写,后面加文件名字)
- 修改完文件访问属性后,重新执行第一个步骤
- 查看配置文件,此处以appsettings.Production.json为例 : sudo vi appsettings.Production.json
- 执行程序启动指令
- 指令介绍 :
(1). setsid : 帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话
(2). dotnet : 启动dotnet程序,可以是web程序,console程序,webapi程序等等
(3). GaiaWorks.project1Platform.WebApi.dll : 要启动的程序,紧跟dotnet指令之后,可以是web程序,console程序,webapi程序等等
(4). --server.urls : 表示设置要启动的程序的地址和端口号
(5). http://0.0.0.0:8010 : 0.0.0.0表示是本地ip地址,8010表示程序启动所需占用的端口号,紧跟--server.urls指令之后
(6). --environment : 表示要启动程序的环境
(7). Production : 表示启动的是Production环境,紧跟--environment之后,该值可以使Production,也可以是Staging或者Quality环境等等
(8). & : 表示启动此程序并加入后台进程 - 执行指令 : sudo setsid dotnet GaiaWorks.project1Platform.WebApi.dll --server.urls http://0.0.0.0:8010 --environment="Production" &
- 指令介绍 :
- 查看指令运行结果以及程序启动结果
- 输入查看程序启动的指令 : sudo netstat -lntp
- 进程界面介绍
(1). 0.0.0.0:8010 : 表示启动的程序的地址以及端口号
(2). 0.0.0.0:* : 远程地址
(3). Listen : 当前进程的状态
(4). 127013/dotnet : 当前程序占用的进程号以及启动程序的名称 - 如果需要关闭程序,则执行删除指令即可 , 再查看时,程序已停止: sudo kill -9 127013
- 输入查看程序启动的指令 : sudo netstat -lntp
- 查看部署结果
- 查看本地地址 : sudo ifconfig -a
- 执行ip地址查看指令 : sudo ifconfig -a
- 执行ip地址查看指令 : sudo ifconfig -a
- 在外部浏览器访问程序的swagger,确认是否部署成功
- 在浏览器中输入swagger地址 : http://192.168.64.128:8010/docs
- 在浏览器中输入swagger地址 : http://192.168.64.128:8010/docs
- 执行OpenApi中的接口,确认能够获取到数据
- 执行接口 OpenApi → /api/v1/products : 看能够获取到数据
- 执行接口 OpenApi → /api/v1/products : 看能够获取到数据
- 查看本地地址 : sudo ifconfig -a
.Net Core 在Linux服务器下部署程序--(3). 部署.net Core程序的更多相关文章
- .Net Core 在Linux服务器下部署程序--(2). 部署前需要安装的软件及SDK
安装通用软件 : ping , telnet , lrzsz , zip , wget 安装ping软件,用于测试当前服务器与其他服务器之间的网络通畅情况,和Windows的Ping类似 执行ping ...
- .Net Core 在Linux服务器下部署程序--(4). 前端ReactWeb应用部署
确认第二步中的软件已经安装完成 Nodejs前端Web服务器 Zip与UnZip压缩包软禁 nrm前端包源管理器 PM2前端Web程序守护进程 创建部署文件夹 如果已经执行过( 3. 租户平台后端程序 ...
- .Net Core 在Linux服务器下部署程序--(3). 部署.net core 后端程序
确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...
- .Net Core 在Linux服务器下部署程序--(1). Windows 连接 Linux服务器
下载Linux服务器连接软件,市面上有Putty,FinalShell等,我以FinalShell为例,下载地址为 :http://www.hostbuf.com/t/988.html,软件安装结束后 ...
- linux服务器下添加字体
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...
- 用linux服务器下的/dev/shm/来释放磁盘的压力
巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统. ...
- Linux服务器下对Oracle作Rman备份
由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ...
- 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)
1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...
- Linux 服务器下多网卡的负载均衡
Linux 服务器下多网卡负载均衡的实现 一.引言 现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...
随机推荐
- SAP MM 巴西采购订单中的NCM Code
SAP MM 巴西采购订单中的NCM Code 1,近日收到业务部门报的一个问题,某用户试图将采购订单4400000071中ITEM 40的删除标记取消, SAP系统报错,'Enter a valid ...
- 2019-01-29 VS Code创建自定义Python代码片段
续前文[日常]Beyond的歌里最多是"唏嘘"吗? - Python分词+词频最后的想法, 发现VS Code支持用户自定义代码片段: Creating your own snip ...
- Window10 输入法不能删除问题解决
有时候我们想删除一个输入法,却发现输入法Remove 按钮是Disalbe 的,这时可以使用下面方法回避这个问题. 1.使用 Administrator 运行 Windows powerSheell. ...
- Node.js 事件循环机制
Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程.高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发 ...
- Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- cglib根据数据动态生成对象
最近有个任务:根据查询SQL直接导出报表 实现关键是,怎么根据sql查询的数据动态生成对象列表,想到Cglib动态代理实现 废话少说,上代码: 定义动态生成Java Bean类: import jav ...
- WaitGroup
WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组.团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行. 先说说Wait ...
- Tampermonkey还你一个干净整洁的上网体验
作为一个前端开发,平时难免要经常浏览一些博客.技术网站,学习新的技术或者寻找解决方案,可能更多是ctrl+c和ctrl+v(^_^|||),但是目前很多网站的布局以及广告对于我们阅读文章造成了很多的障 ...
- 你连Nginx怎么转发给你请求都说不清楚,还好意思说自己不是CRUD工程师?
目录 一.Nginx工作原理二.Nginx进程模型三.Nginx处理HTTP请求流程 Nginx 工作原理 Nginx由内核和模块组成,Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅 ...
- Python基础(解压序列)
解压序列: a,b=(1,2) # a,b=[1,2] print(a,b) #输出结果:1 2 #获取第一个值和最后一个值 a,*_,c=(1,2,3,4,5,6,7,8,9) print(a) p ...