.Net 6.0 部署Linux+Nginx +PM2教程

这篇具有很好参考价值的文章主要介绍了.Net 6.0 部署Linux+Nginx +PM2教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天带大家将本地.Net6.0项目部署到Linux系统中,其中有用到Nginx反向代理和PM2进程管理工具,希望本偏文章能对你有所帮助,成为你成功路上的垫脚石!

.Net 6.0 部署Linux+Nginx +PM2教程

背景:

  在.Net 5.0横空出世之后,.Net已经支持夸平台了,身为一名合格的码农,你敢说你不会用Linux? 哈哈哈开个玩笑,因为工作最近接手的项目是部署到Linux中,需要使用到Linux , Nginx和PM2 的一些操作,我就开始倒腾了一两天试试能不能把自己的项目也整一套放到Linux中,Linux 在日常工作中可以说是非常普遍,也是主流,看一百遍不如做一遍,所以希望还没有接触到的童鞋,看完这篇文章后也能去试着部署一下,一起进步!!! 由于本人也是第一次部署,本文如有不足之处还请各位大佬及时指出~

1.打包代码,并存放到Linux中

切记!,在Program中将这三段代码,从if中拿出来!,这个的if的意思是只有开发环境才会执行,如没有拿出来,即便发布成功也无法访问Swagger UI,本人就被这个小问题折磨了有一上午!!!

.Net 6.0 部署Linux+Nginx +PM2教程

 在appsettings.json文件中指定访问端口,端口可以随便填,不重复的即可

.Net 6.0 部署Linux+Nginx +PM2教程

 随后右击API层选择发布

.Net 6.0 部署Linux+Nginx +PM2教程

最后将打包好的代码文件发布到Linux 中即可,这里我使用的文件传输工具是 FileZilla

.Net 6.0 部署Linux+Nginx +PM2教程

 2.Linux中安装.Net 6.0运行环境

安装.net环境运行时可以直接看微软官方无脑复制即可:在 .NET CentOS 上安装 - .NET | Microsoft Learn

最后配置完成之后我们CD 到打包好代码的目录中 开启Api服务 

//开启服务  WeTool.Api.dll换成启动项目的dll名称即可
dotnet WeTool.Api.dll
//关闭服务 ctrl+c 即可

像这样,恭喜你已经成功啦!!!

.Net 6.0 部署Linux+Nginx +PM2教程

 当然不要高兴的太早啦,到这里你只成功了一半!!!,现在我们面临两个问题:

  1.我们虽然可以使用 ip?swagger/index.html访问,但如果我这个ip很多个地方需要用到怎么办,当然是用域名啦,所以我们需要用到nginx 将我们的服务指向我们的域名

  2.我们每次开启或者关闭服务都需要进入到发布的目录中去开一下 还不能看到服务的状态,一个服务还好,如果有很多个呢,所以这里我们需要用到进程管理工具PM2

 3.安装并配置Nginx

 1 //一键安装上面四个依赖
 2 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 8 //下载tar包
 9 wget http://nginx.org/download/nginx-1.13.7.tar.gz
10 tar -xvf nginx-1.13.7.tar.g

我们进入到/etc/nginx/conf.d目录下,创建.conf文件,随后编辑文件,指定域名即可

.Net 6.0 部署Linux+Nginx +PM2教程

 8880换成.NET 中appsettings.json文件中urls指向端口

 1 server {
 2     listen        80;
 3     server_name   域名;
 4     location / {
 5         proxy_pass   http://127.0.0.1:8880; 
 6         proxy_http_version 1.1;
 7         proxy_set_header   Upgrade $http_upgrade;
 8         proxy_set_header   Connection keep-alive;
 9         proxy_set_header   Host $host;
10         proxy_cache_bypass $http_upgrade;
11         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
12         proxy_set_header   X-Forwarded-Proto $scheme;
13     }
14 }

.Net 6.0 部署Linux+Nginx +PM2教程

 配置好之后重启下Nginx即可 命令:  systemctl restart nginx

好了,我们终于到了最后一步了!!!配置PM2 进程管理工具

4.安装配置PM2进程管理工具

 1 #安装nodejs
 2 yum install nodejs
 3 #若遇到No package alien available.Error: Nothing to do,可先执行以下命令再安装nodejs
 4 yum install epel-release
 5 #查看npm版本
 6 npm -v
 7 
 8 #1、安装pm2(npm版本太低可能会导致安装失败,升级步骤见后文)
 9 npm install -g pm2
10 #查看pm2的安装路径
11 sudo whereis pm2
12 #查看版本
13  pm2 -v
14  
15 #2、更新PM2
16 #首先确保您正确保存了所有进程:
17 sudo pm2 save
18 #然后从NPM安装最新的PM2版本:
19 sudo npm install pm2 -g
20 #最后更新内存中的PM2进程:
21 sudo pm2 update
22 
23 
24 #启动进程(需要进入该项目所在目录下)
25 pm2 start 进程名
26 #启动成功后可进行访问,若不能访问检查一下端口的下行规则是否开放
27 
28 #查看进程
29 pm2 list
30 #停止、删除进程
31 pm2 stop/delete 进程名
32 #查看日志
33 pm2 logs

以我现在这个项目为例创建一个进程: pm2 start 'webtool.Api.dll' --name webtoolApi  记住需要进入到进程目录哦,就是代码打包目录,创建好之后我们输入pm2 list 看看吧~

.Net 6.0 部署Linux+Nginx +PM2教程

现在我们的进程是开着的Swagger UI 是可以访问的

.Net 6.0 部署Linux+Nginx +PM2教程

 当我们输入 pm2 stop 0(进程id)关闭之后,Swagger UI将无法访问,如下:

.Net 6.0 部署Linux+Nginx +PM2教程

.Net 6.0 部署Linux+Nginx +PM2教程

结尾:

好啦,今天的教程就到这儿啦,希望对各位看官有所帮助,还是那句话,希望各位能直接上手实操一遍,因为看着可能不难,但真正实操时会遇到很多的问题和困难,就像本篇文章哈哈哈重装3次服务器,一个小问题卡一天,不过真正弄出来之后还是很开心的!!!

.Net 6.0 部署Linux+Nginx +PM2教程文章来源地址https://www.toymoban.com/news/detail-418524.html

到了这里,关于.Net 6.0 部署Linux+Nginx +PM2教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • (后续补充)vue+express、gitee pm2部署轻量服务器

    (后续补充)vue+express、gitee pm2部署轻量服务器

    首先 防火墙全部关闭算了 首先 防火墙全部关闭算了 首先 防火墙全部关闭算了 首先 防火墙全部关闭算了 首先 防火墙全部关闭算了 首先 防火墙全部关闭算了 关闭防火墙 systemctl stop firewalld 重新载入防火墙使设置生效 firewall-cmd --reload 后端的 pm2.config.cjs 更改为 其次 前端打

    2024年02月05日
    浏览(12)
  • PM2 vs Kubernetes:在部署 Node.js 服务时使用哪个?

    Node.js 已成为 Web 开发中的热门技术之一,但如果我们想成功地将 Node.js 应用程序交付给用户,我们需要考虑部署和管理这些应用程序。两个常见的选项是 PM2 和 Kubernetes。PM2 是一个用于运行和管理 Node.js 应用程序的进程管理器,它能够创建不间断运行的 Node.js 应用程序,并确

    2024年02月06日
    浏览(9)
  • Linux搭建node环境-MobaXterm+node+pm2安装

    Linux搭建node环境-MobaXterm+node+pm2安装

    1.登录session 2.安装X11-forwarding 我也不知道这个有什么用,但是有个叉叉在那里有点难受,就把它解决了 什么是X11-forwarding?怎么使用? 安装完就没了叉叉 3.安装node 由于直接 yum 安装的 nodejs 版本太低,所以参考这篇文章安装:Linux中安装node 4.安装pm2 建立软连接: 输入pm2 li

    2024年02月16日
    浏览(11)
  • 【pm2】pm2的安装与基本命令:

    【pm2】pm2的安装与基本命令:

    一、安装: pm2 是 node 进程管理工具 ,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,因为在工作中遇到服务器重启后,需要一个个去重新启动每个服务,这样不仅繁琐、效率低,而且容易遗忘开启一些服务。 【PM2 的主要特性】 1、内

    2024年02月13日
    浏览(11)
  • 今天教大家微信小程序怎么免300元认证费终身使用的教程

    今天教大家微信小程序怎么免300元认证费终身使用的教程

    众所周知微信小程序认证需要300元认证费,当然用已认证的微信公众号可以免费认证但是认证微信公众号也需要300认证费而且需要每年进行年检等于每年都要花300元。 不知道大家注册小程序的时候有没有发现审核很慢申请完需要等几天很费时间, 而且微信限制一个身份证只

    2024年02月08日
    浏览(10)
  • pm2详解

    pm2详解

    对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2 是一个带有负载均衡功能

    2024年02月09日
    浏览(10)
  • pm2设置开机启动

    pm2设置开机启动

    1、生成开机启动 pm2 服务的配置文件 运行:pm2 startup 命令 执行 2、 pm2 save , 保存当前 pm2 运行的各个应用保存到 /root/.pm2/dump.pm2下,开机重启时读取该文件中的内容启动相关应用。 3、查看配置是否开启:使用命令systemctl status pm2-root.service 官方相关文档:http://pm2.keymetrics.io/

    2024年02月12日
    浏览(9)
  • PM2入门及其常用命令

    进程管理主要是指创建,终止和监控进程。进程管理器主要是用来确保你的应用在启动后能够保持在线 pm2 是 nodejs 的进程管理器,默认支持负载均衡,能够守护进程。还支持查看应用运行时的性能,资源占用情况等 普通启动方式:node index.js,关闭终端就结束进程 node 进程挂

    2024年02月06日
    浏览(11)
  • pm2 运行springboot项目

    pm2 运行springboot项目

    注意安装java版本必须和打包的java版本一致 java安装 安装nodejs 通过npm安装pm2 pm2.json 运行 启动项目即可 参考 https://www.bbsmax.com/A/KE5QmgZ35L/ https://blog.csdn.net/Aria_Miazzy/article/details/103895455

    2024年02月09日
    浏览(9)
  • 【软件工具】PM2的常用命令

    PM2的常用命令 PM2是node进程管理工具,可以利用它来简化很多node应用管理 的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 全局安装,简直不能更简单。   npm install -g pm2 用express应用来举例。一般我们都是通过npm start启动应用,其实 就是调用node ./bi

    2024年02月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包