.net core部署到Ubuntu

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 80;
    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=1 #自动重启间隔
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 80/tcp

原文地址:https://www.cnblogs.com/xienb/p/9328159.html

时间: 2024-10-13 10:34:39

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

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

需要安装的工具 .Net Core Nginx反向代理服务器(相当于Windows下的IIS) Supervisor(进程管理工具) .Net Core安装方法请参阅 官方文档 安装完成后就可以在项目文件夹,使用以下命令启动网站 dotnet xxx.dll 然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际端口) 但是现在还不能通过ip访问,这就需要Nginx实现. Nginx 通过命令安装: sudo apt-get install nginx 然

.NET Core 部署到CentOS–3.supervisord守护进

1. 安装 sudo yum install python-setuptoolssudo easy_install supervisor 2. 配置 安装成功后,输入supervisord 会显示配置默认读取目录: 安装成功后我看到有这个目录,所以就把配置放在这了: a) 初始化配置文件 echo_supervisord_conf > /etc/supervisor/supervisord.conf b) 指定配置文件 supervisord -c /etc/supervisor/supervi

【Step By Step】将Dotnet Core部署到Docker下

一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)>一致. 但是在我们这里,由于docker中无法部署sql server,所以我采用了Mysql数据库,顺便吐槽一下 SQL Server真的太贵了,阿里云的Mysql实例价格和SQL Server实例价格差10倍,真的好夸张. Mysql官方的EF Core支持刚刚出

.Net Core 部署到 CentOS7 64 位系统中的步骤

.Net Core 部署到 CentOS7 64 位系统中的步骤 建议使用 root 管理员账户操作 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2.安装apache 在安装apache之前,要先做一件事就是,把当前登录用户权限设置为root相同的权限,否则 在执行sudo命令时会报 "不在 sudoers 文件中.此事将被报告&qu

ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

 一.前言  最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持下来了,嗯,看了看时间,原本决定的半年完成肯定是完不成了.这两周重新拾起来学习 Vue,文章也在慢慢的更新中,这一篇文章主要是想提前试试水将 ASP.NET Core 部署到 Linux Server 上,原本的打算是把毕业设计就部署到 Linux 上,最终也未能成行,究其原因,还是自己太懒太拖了

记录.NET Core部署到Linux之发布项目到Linux(2)

原文:记录.NET Core部署到Linux之发布项目到Linux(2) 1.选择文件夹发布项目到本地,通过Xftp上传文件到/home/wwwroot下:下面具体介绍下 2.通过Xftp直接拖拽压缩包到linux下,通过命令cd /home/wwwroot目录下;然后输入 unzip 压缩包名字(例如core.zip).如果压缩文件像这种包含了一个文件夹,解压出来会看不到.目前不知道为什么.这种就是正常的, 3.如果提示找不到命令unzip:请先安装yum install -y unzip z

记录.NET Core部署到Linux之.NET Core环境搭建(1)

原文:记录.NET Core部署到Linux之.NET Core环境搭建(1) 1.在安装.NET之前,您需要注册Microsoft密钥.注册产品存储库和安装所需的依赖项. 启动我们的虚拟机,输入以下命令: sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm 2.安装.NET SDK 输入命令:sudo yum update ;按y回车 3.输入命令sudo yum inst

你真的了解ASP.NET Core 部署模型吗?

原文:你真的了解ASP.NET Core 部署模型吗? ----------------------------   以下内容针对 ASP.NET Core2.1,2.2出现IIS进程内寄宿 暂不展开讨论-------------------------- 相比ASP.NET,ASP.NET Core 2.1出现了3个新的组件:ASP.NET Core Module.Kestrel.dotnet.exe, 后面我们会理清楚这三个组件的作用和组件之间的交互原理. ASP.NET Core 设计的初

用NSSM把.Net Core部署至 Windows 服务

为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中.但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Windows服务器并没有安装IIS,或者Asp.net Core中存在一些定时任务,需要实时运行,等等一些情况. 微软解决方案 微软也提供了.Net Core部署至