本文意在教大家如何在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. SpringCloud服务的注册发现--------Eureka

    1,什么叫做服务的注册与发现 服务的注册与发现基于注册中心,注册中心本身是一个服务,也相当于一个载体,其他服务的注册需要注册到这个注册中心上. 注册:当服务器启动的时候,会将自己的服务器信息,通过别名 ...

  2. Python操作JSON数据代码示例

    #!/usr/bin/env python import json import os def json_test(): return_dic = {} json_data = { 'appid':' ...

  3. Dome 多人人脸识别 face_recognition

    Dome 多人人脸识别 face_recognition 注意 face_recognition 依赖 face_recognition_models 中文字体文件需要自己下载 1.多人人脸识别 # ...

  4. K-Folds cross-validator-K折交叉验证实现

    源码: import numpy as np from sklearn.model_selection import KFold X = np.array([[, ], [, ], [, ], [, ...

  5. Blazor入门笔记(4)-组件的生命周期

    1.环境 VS2019 16.5.1.NET Core SDK 3.1.200Blazor WebAssembly Templates 3.2.0-preview2.20160.5 2.简介 Blaz ...

  6. IntelliJ IDEA 激活码 [已购买,分享给码友]

    一.前言 笔者在网上找了一圈,各种方法都试过了,之前那种在网上随便找个注册码,过了一段时间就被封了,想了想还是经常用的和朋友一起购买了,方便日后使用 二.下载最新的 IDEA 其实也可以从老版本直接升 ...

  7. js中使用Timer来计时程序执行时 - [javascript] - [开发]

    在我们开发过程中,我们也在不断的学习,以及优化自己的代码质量. 我们时常需要一个计时器,来对代码某段或者某些段执行进行计时,以评估代码运行质量,考虑是否优化. 以及优化后的直观对比. JavaScri ...

  8. Linux bash篇(四 命令)

    1.一次执行多个命令        ; eg: ls -al ; touch data.txt 2.根据情况执行命令       &&     || cmd1 && c ...

  9. c++用递归法将一个整数n转换成字符串

    任务描述 用递归法将一个整数n转换成字符串.例如,输入483,应输出字符串“483”.n的位数不确定,可以是任意位数的整数. 测试输入: 预期输出: 程序源码: #include <stdio. ...

  10. AJ学IOS 之微博项目实战(4)微博自定义tabBar中间的添加按钮

    AJ分享,必须精品 一:效果图 自定义tabBar实现最下面中间的添加按钮 二:思路 首先在自己的tabBarController中把系统的tabBar设置成自己的tabBar(NYTabBar),这 ...