1.使用vs2017创建Asp.net Core Web应用程序,选择ubuntu中安装的.net core版本,这里选择2.1版本:

2.右键发布该项目,选择文件系统发布:

3.在ubuntu中安装vsftpd(Ubuntu安装vsftpd并通过xftp连接),并通过xftp将发布的publish目录上传到ubuntu服务器,也可以通过ftp直接发布到ubuntu,需要配置vsftpd,配置项比较多,可以参考:FTP服务器vsftpd配置详解

4.执行dotnet WebApp.dll,然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际端口)但是现在还不能通过ip访问,这就需要Nginx实现

5.通过命令安装nginx(相当于linux下的iis)

sudo apt-get install nginx

然后配置nginx的代理转发,修改/etc/nginx/sites-available/default,修改内容如下

server {
listen ;
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;
}
}

保存退出,然后重新加载nginx

sudo nginx -t
sudo nginx -s reload

6.通过nginx实现了通过IP访问,然而,重启后我们会发现网站并没有开机启动,这个时候就需要Supervisor了

安装supervisor

sudo apt-get install supervisor

安装完成之后,在 /ect/supervisor/confg.d/ 目录下新建一个配置文件,取名为 WebApp.conf

编辑该配置文件

vi WebApp.conf

修改为:

[program:WebApp]
command=dotnet WebApp.dll #要执行的命令
directory=/dotnetcoreWebApp #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=www-data #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs= #自动重启间隔
stderr_logfile=/var/log/WebApp.err.log #标准错误日志
stdout_logfile=/var/log/WebApp.out.log #标准输出日志

重启supervisor

sudo service supervisor restart

这个时候重启机器,通过ip地址也可以访问了

7.如果是非本机访问ip,需要将80端口加到防火墙例外

sudo ufw allow /tcp

.net core部署到Ubuntu的更多相关文章

  1. 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  2. .net core部署到Ubuntu碰到的问题

    数据库连接的时候,会报错“MySql.Data.MySqlClient.MySqlException:“The host localhost does not support SSL connecti ...

  3. .Net Core 部署到Ubuntu 16.04 中的步骤

    需要安装的工具 .Net Core Nginx反向代理服务器(相当于Windows下的IIS) Supervisor(进程管理工具) .Net Core安装方法请参阅 官方文档 安装完成后就可以在项目 ...

  4. .net core部署到ubuntu 上传文件超过30MB

    默认的上传文件不能超过30MB,需要修改几个地方 一.web.config中添加配置 <requestLimits maxAllowedContentLength="214748364 ...

  5. ASP .Net Core系统部署到Ubuntu 16.04 具体方案

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  6. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  7. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  8. ASP.NET Core 2.0发布/部署到Ubuntu服务器并配置Nginx反向代理

    原文链接https://www.linuxidc.com/Linux/2017-12/149557.htm ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用AS ...

  9. .netcore中使用EFCore连接SQL Server并部署至Ubuntu

    前面一篇记录了如何在windows下开发asp.net core程序,并部署至ubuntu系统中.但仅仅是建立了一个demo项目,项目本身并没有实现多少功能.多数时候,我们的项目是要和数据库打交道.E ...

随机推荐

  1. JAVA:IDEA使用Hibernate(2)

    1.打开IDEA新建项目 勾选Hibernate.勾选下方生成相关配置和类 下方选择Download,如果使用本地已经下载的包则选择 Use Library ,路径选到包里面的require里导入即可 ...

  2. Mybatis入门及于hibernate的区别

    pojo:不按mvc分层,只是java bean有一些属性,还有get set方法domain:不按mvc分层,只是java bean有一些属性,还有get set方法po:用在持久层,还可以再增加或 ...

  3. WIFI CAT ET III Adapter Caterpillar ET3 New Arrival

    The old bluetooth cat et adatper iii has stopped production, and you can get the new WIFI CAT Caterp ...

  4. opencv学习之路(26)、轮廓查找与绘制(五)——最小外接矩形

    一.简介 二.轮廓最小外接矩形的绘制 #include "opencv2/opencv.hpp" using namespace cv; void main() { //轮廓最小外 ...

  5. Linux下按扇区读写块设备

    本文介绍Linux下按扇区读写块设备(示例TF卡),实际应用是在Android系统上,主要方法如下: 1.找到sdcard的挂载点,在android2.1系统下应该为/dev/block/mmcblk ...

  6. Linux PWM framework简介和API描述【转】

    本文转载自:https://blog.csdn.net/mike8825/article/details/51656400 1. 前言 PWM是Pulse Width Modulation(脉冲宽度调 ...

  7. 使用Flask部署机器学习模型

    Introduction A lot of Machine Learning (ML) projects, amateur and professional, start with an aplomb ...

  8. Centos7 安装并配置redis

    一. 安装 操作系统:Centos 7. 最小化安装 redis版本: 4.0.2 服务器地址:*** 安装过程: 安装wget, yum -y install wget 2.  下载redis wg ...

  9. 使用vue.js + laravel开发单页面应用

    最近学了vuejs和laravel,然后顺便就撸了简单的demo,这里将会根据这个demo介绍下如何使用vuejs+laravel开发一个简单的单页面应用,demo的github地址是https:// ...

  10. winform左右滑动

    public static class FormTransform { public static void TransformSize(Form frm, int newWidth, int new ...