在ubuntu16.04中再次体验.net core 2.0

  在上一篇文章中在ubuntu16.04中初次体验.net core 2.0 简单介绍了一下ubuntu中运行.net core 2.0、配置nginx反向代理以及安装supervisor守护进程……本来安装supervisor(对他不是很了解,在其他的文章中看到这么用)目的是让我们应用程序开机启动,但是现在win10 Linux子系统用不了systemctl这个命令:https://github.com/Microsoft/WSL/issues/1990 (不知道理解的对不对),之后看到微软官方文章,不安装supervisor也可以实现,可以采用XXX.sevice的方式。

  这次笔记没有在win10 Linux子系统中进行,而是在Ubuntu虚拟机(vmware-ubuntu 16.04)中。安装.net core 2.0、nginx都很顺利,配置也和上一篇没有区别,这里就不在截图了。

  一、配置监视应用程序

  直接创建服务文件,参考文章:使用 Nginx 在 Linux 上为 ASP.NET Core 设置托管环境,并对其进行部署 来张截图:

  1、在etc/systemd/system 中新建kestrel-test1.service ,命令:sudo vi /etc/systemd/system/kestrel-test1.service

  2、修改上述文件的权限(哎,使用vi编辑不习惯,只能用编辑器),命令:sudo chmod 777 /etc/systemd/system/kestrel-test1.service

  3、输入以下内容:

[Unit]
Description=Example .NET Web API Application running on Ubuntu

[Service]
WorkingDirectory=/home/ddz1/Desktop/ddzdotnetcore/test1/bin/release/netcoreapp2.0/publish
ExecStart=/usr/bin/dotnet /home/ddz1/Desktop/ddzdotnetcore/test1/bin/release/netcoreapp2.0/publish/test1.dll
Restart=always
RestartSec=10  # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=ddz-dotnet-test1
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production 

[Install]
WantedBy=multi-user.target

  上面标记部分请自行修改!

  4、上述配置的服务开机启动,命令:sudo systemctl enable kestrel-test1.service

  5、启用该服务,命令:sudo systemctl start kestrel-test1.service

  6、查看上述服务状态,命令:sudo systemctl status kestrel-test1.service

  7、查看运行效果:

  我们注意到80和5000都可以访问,也就是说nginx已经启动了,我们查看一下:

  说到这里,上面说到的问题已经结束了,倒是有点少,再说的别的……  

  二、win10上开发,Linux部署

  在上一篇中,我们弄得应用程序是在Linux用dotnet命令创建的。Linux毕竟用不熟,虽然有VSCode……但是没有VS,所以需要Win10开发然后部署在Linux上。开始在win10上的操作和在Linux上的操作相同,之后将发布之后的文件拷贝过去,然后运行dotnet run命令会有如下错误:

Invalid runtimeconfig.json [/home/ddzubuntu/ddzdotnetcore/test3/test3.runtimeconfig.json] [/home/ddzubuntu/ddzdotnetcore/test3/test3.runtimeconfig.dev.json]

  这个错误,郁闷了好久,试了好几种办法:

  1、RuntimeIdentifier

  1.1、https://docs.microsoft.com/zh-cn/dotnet/core/tools/csproj

  1.2、https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

  2、dotnet publish -r ubuntu.16.04-x64

  ……

  ……

  也没有解决,偶尔看到了这篇文章:Invalid runtimeconfig.json error when trying to run netcore app on linux  ,晕!!!没想到是因为权限的问题,于是我修改了以下应用程序上一层目录的权限:sudo chmod -R 1744 test3  之后在执行 dotnet  test3.dll就没问题了,如下图:

  ubuntu中再次相遇.net core 2.0就到这里了。谢谢!

时间: 2024-10-29 04:05:34

在ubuntu16.04中再次体验.net core 2.0的相关文章

ubuntu16.04中supervisor安装与使用(转载)

ubuntu16.04中supervisor安装与使用 supervisor 进程管理是可以让进程在后台运行,而不占用控制台影响使用 1. 安装 supervisor sudo apt install supervisor 2. 添加进程 supervisor 可以将每个进程分别写成一个文件,supervisor 的进程文件放在 /etc/supervisor/conf.d/ 目录下,本例创建 test.conf 进程配置文件.其中 program 为要运行的进程的名称, command 为要执

Ubuntu16.04 中 Vscode 如何断点调试C语言程序

个人博客链接:Ubuntu16.04 中 Vscode 如何断点调试C语言程序 问题:环境是 Ubuntu16.04,如何使用 Vscode 断点调试C语言程序. 写代码没有调试环境是不能忍受的,所以折腾了一下,最后成功了.折腾的过程是这样的: 1. 首先安装 C/C++ 扩展,直接搜索第一个就是,或者点此 链接 查看其帮助文档进行安装. 2.然后打开当前项目目录,左边点调试选项,点击添加配置,生成了一个launch.json文件,其内容如下: { // Use IntelliSense to

Ubuntu16.04 中 HyperLedger Fabric v1.1.0 环境准备

一.环境准备 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 作用:文件传输 1.2 安装 Docker and Docker Compose Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件. 前期准备: 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存

丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0

丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0? 警告 您当前查看的页面是未经授权的转载! 如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/p/aspnetcore-run-on-mono-in-year-of-monkey.html 提示 更新时间:2016年02月07日. 各位程序媛/程序猿们,猴年快乐. 相信不少媛/猿都是被标题吸引来的,那我我先解释下标题. 提示 本文是一篇半科普文,不对技术细节进行深入探究. 标题

ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件

硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 软件环境 搜狗输入法 显卡驱动:LINUX X64 (AMD64/EM64T) DISPLAY DRIVER (418.56)  https://www.nvidia.cn/Download/index.aspx? CUDA:Cuda9.0  https://developer.nvidia.com/cuda-90-download-archive?target_os=Lin

Ubuntu16.04上通过anaconda3离线安装Tensorflow2.0详细教程

安装背景: Ubuntu 16.0.4, 集成显卡,不能连接外网,需要使用Tensorflow2.0 安装软件配套: Anaconda3-4.7(内部继承Python3.7),TensorFlow2.0(文件应包含cp37-cp37m-manylinux2010_x86_64,其中cp37-cp37m意味着对应Python3.7,manylinux2010这个 应该属于Anaconda3支持安装的软件格式之一),由于是集成显卡,TensorFlow软件包应选择CPU版本. 1.首先下载anaco

MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置

1.安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 2.查询是否安装成功 sudo netstat -tap | grep mysql 如下图所示,表示安装成功 编辑mysql配置文件,注释掉"bind-address = 127.0.0.1" sudo vi /etc/mysql/mysql.conf.

php入门一ubuntu16.04中php环境配置及一个网页

1.PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言. 2.PHP 文件可包含文本.HTML.JavaScript代码和 PHP 代码,PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器,PHP 文件的默认文件扩展名是 ".php". 3.PHP 可以生成动态页面内容.创建.打开.读取.写入.关闭服务器上的文件.收集表单数据.发送和接收 cookies.添加.删除.修改您的数据库中

关于ubuntu16.04中mysql root登陆不了的情况下(大多是未设置密码的情况)

1.先将当前用户改成 root用户:sudo su 2.进入安装路径,我的是:cd /etc/mysql/ 3.打开debian.cnf : gedit debian.cnf 4.找到:user password 就是登陆的账号密码了 5.登陆 mysql :mysql -u 用户名 -p 密码 6.然后进入mysql 表: use mysql; 7.执行修改root密码命令:UPDATE user SET authentication_string= password ('123') WHER