本文意在教大家如何在Linux上部署net core web项目,本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点。

一:需要用到的东西如下:

1:一个基于net core框架下的web项目,可以是MVC也可以是webapi可以自己选择,目前为了简单部署我用的是一个MVC项目,同时为了方便演示我们这里添加一句代码指定默认端口为5000,当然这个也可以自己定,和其它端口不起冲突就行。

2:一台Linux服务器,可以是阿里云或者腾讯云或者虚拟机下都可以实现,大家可根据自己的情况选择适合自己的服务器,我选择的是一台阿里云服务器。

3:打包发布我们的web项目操作如下图,发布的操作和fw下是一样的发布到文件系统,需要注意的是目标运行时需要选择Linux版本就可以了。

4:接下来需要把我们项目文件拷贝到服务器上运行,我们用的是Winscp工具。

(1):在root目录下新建一个文件夹dotnet把发布的项目文件通过Winscp拷贝到该目录下。

(2):接下来我们需要通过命令启动项目那我们需要使用后,那么我们可以使用Xshell工具远程连接到我们的服务器上通过控制台启动,连接成功如下。

(3)通过命令cd 到publish目录输入命令:dotnet  +项目.dll  即可,如出现下图则说明项目部署成功。

5:此时项目已运行成功,但是外网不能访问,所以我们得安装配置Nugix替代之前的IIS进行方向代理

(1): 安装Nugix命令,

1:wget http://nginx.org/download/nginx-1.0.14.tar.gz

2:tar zxvf nginx-1.0.14.tar.gz

3:./configure --with-http_stub_status_module --prefix=/opt/nginx

4:cd nginx-1.0.14

5:make

6:make install

(2)最重要的是安装成功之后需要更改配置文件命令入下:

1:cd /usr/local/nginx/conf

2:vim nginx.conf

3:按 i 即可进入编辑状态,更改listen端口和server_name服务器地址即可,其它不用改。

4:更改好了之后输入 :wq 即可保存并退出编辑。

5:vim nginx.conf输入命令查看配置是否修改成功

6: /usr/local/nginx/sbin/nginx -s reload 输入命令重新加载配置文件

6:cd到项目跟目录重新启动项目:

7:在浏览器输入你外网地址+端口即可访问你的项目。

7:需要注意的是 如果你外网访问不了的话,需要检查你的端口是否开放,防火墙是都打开。

以上为个人实线中遇到的问题和一些实现步骤,有啥问题欢迎各位大佬指正。

关于如何在Linux上使用Nugix反向代理部署net core3.1项目的更多相关文章

  1. Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)

    Linux+.Net Core+Nginx 之前的文章中有提到关于使用Nginx在linux来实现反向代理,今天我们继续加点料.在Centos7中部署.NetCore,然后使用Nginx进行反向代理! ...

  2. 如何在Linux上通过grub添加内核参数

    转自Linux中国 我们可以在linux内核启动时为其提供各种各样的参数.这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息.内核参数应在内核启动时通过引导装载程序,如GRUB或LILO ...

  3. 如何在Linux上使用VIM进行.Net Core开发

    对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE. Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linu ...

  4. 如何在 Linux 上复制文件/文件夹到远程系统?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

  5. springboot打成的jar包如何在Linux上持久运行

    一.首先说说在没有springboot的时候,项目是如何部署的? 1.动态web项目 动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署.当然了,这 ...

  6. 如何在Linux上清理内存缓存、缓冲与交换空间

    如何在Linux上清理内存缓存.缓冲与交换空间 与其他类型的操作系统一样,GNU/Linux已经有效的实现了内存管理,甚至更加优秀.但是如果任何进程正在吃光你的内存,并且你想清理它,Linux提供了一 ...

  7. 如何在 Linux 上设置密码策略

    https://linux.cn/article-2518-1.html 用户帐号管理是系统管理员最重要的工作之一.而密码安全是系统安全中最受关注的一块.在本教程中,我将为大家介绍如何在 Linux ...

  8. 如何在 Linux 上安装应用程序

    如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...

  9. [转帖]如何在Linux上使用命令行查看硬件信息

    如何在Linux上使用命令行查看硬件信息 时间:2016-01-13   作者:admin 分类:新手入门 阅读:126次 http://embeddedlinux.org.cn/emb-linux/ ...

随机推荐

  1. MATLAB——m_map指南(1)

    1.例图 (1) clear all m_proj('oblique mercator');%确定投影方式和绘图界线 m_coast;%画出海岸线 m_grid;%添加格网 第一行代码初始化投影,对于 ...

  2. 20175314 实验五 Java网络编程

    20175314 实验五 Java网络编程 一.实验报告封面 课程:Java程序设计 班级:1753班 姓名:薛勐 学号:20175314 指导教师:娄嘉鹏 实验日期:2018年5月31日 实验时间: ...

  3. dp例题03. 最大子矩阵和

    题目Description: 给出一个矩阵, 求子矩阵(可以是其本身)数之和的最大值 Input: 第一行 为行数n和列数m       (n≤500, m≤500) 接下来为一个n行m列的矩阵 (每 ...

  4. 1024 Palindromic Number (25 分)

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  5. Go语言笔记 (2) 变量命名与多重赋值

    变量命名 1.大小写 观摩以下代码: func main() { var m int = "你" var M int = "我" fmt.Println(m,M ...

  6. Nginx知多少系列之(一)前言

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+ ...

  7. Linux 磁盘管理篇,连接文件

    连接文件分为两种 1.像Window类似的快捷方式的文件 2.通过文件系统的inode来产生新的文件名而不是新文件(硬连接) 创建连接文件            ln 创建连接文件的快捷方式      ...

  8. 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...

  9. Byte字节

    字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位.最常用的字节是八位的字节,即它包含八位的二进制数. 中文名 字节 外文名 ...

  10. Netty:ChannelFuture

    上一篇我们完成了对Channel的学习,这一篇让我们来学习一下ChannelFuture. ChannelFuture的简介 ChannelFuture是Channel异步IO操作的结果. Netty ...