zoukankan      html  css  js  c++  java
  • 在ubuntu16.04中初次体验.net core 2.0

      .net core运行在Linux中的例子、文章已经很多了,看了一些之后也想体验一下,顺便记录一下……

      环境:win10 1709、它内置的Linux子系统(这里安装的是Ubuntu 16.04)

      一、安装Ubuntu 16.04

      1、启用win10中内置的Linux

      到了win10 1709,内置的Linux已经不是Beta版了,"控制面板程序程序和功能",点击“启用或关闭Windows功能”,启用“适用于Linux的Windows子系统”

      2、安装Linux

      在cmd中输入bash,它会提示你到微软应用商店下载,网址:https://aka.ms/wslstore,在浏览器中输入该网址会自动打开微软应用商店

      

      我选择的是Ubuntu,版本是16.04 LTS,文件很小只有不到200MB

      如上图,这样你就安装成功了,这里固定到了开始屏幕方便下次使用……第一次打开,首先会让你输入用户名和密码:

      之后你可以输入:lsb_release -a 查看Linux的版本:

      没想到就像装软件一样简单,软件有他的安装目录,也想知道Linux的文件系统放在什么地方......找了半天终于找到了:C:UsersXXXAppDataLocalPackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalState ootfs

      二、安装.net core2

      这个比较简单,参照官方的基本上没问题,参考网址:https://github.com/dotnet/core/blob/master/release-notes/download-archive.md 

      安装.NET Core SDK 2.0.2 with .NET Core 2.0.0

      安装成功之后,查看dotnet 信息 : dotnet --info

      查看dotnet自带的模板:dotnet new --list

      三、跑一个MVC模板

      1、新建一个工作目录

      2、新建一个MVC应用程序: dotnet new mvc -n test1   新建成功并跑一下程序,切换到程序根目录之后执行命令: dotnet run

      3、在浏览器键入 http://localhost:5000/ (大神说:Linux和win10共享网络)

      4、停止应用程序

      5、之后我们发布一下 dotnet publish -c release

      6、切换到“publish”目录,执行命:dotnet test1.dll

      四、安装nginx

      1、sudo apt-get install nginx

      2、查看一下 nginx是否安装成功,并顺便看一下帮助:nginx -h

      3、启动nginx :sudo service nginx start

      第一次失败了,不知道什么原因,由于是linux小白,查了半天,才知道nginx有 -t 这种命令,试了一下

      检测发现80 端口被占用,安装Ubuntu之后什么都没干怎么就80被占用呢?在印证了和win10共享网络。修改了一下nginx的配置文件 etc ginxsites-availabledefault

      再次检查就没有问题了

      4、配置代理,再次修改配置文件

      5、访问10020 

      哦,MVC应用程序关了!!!再次启动

      又报了一大推错误,原来应用程序的根目录没有配置(上面有张图中已经圈出),在修改nginx配置文件

      再次访问终于搞定了,这次的错误就不管了……

      五、安装supervisor

      1、安装 sudo apt-get install supervisor

      2、查看supervisor是否安装成功

      3、配置

      在 etc/supervisor/conf.d 目录下 新建test.conf 输入以下内容,根据你的应用程序而定

      启动supervisor 服务:sudo service supervisor start ,在执行以下这个命令:sudo supervisord -c /etc/supervisor/supervisord.conf  如果遇到这个错误

    Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
    For help, use /usr/bin/supervisord -h
    

        可以先执行这个命令:sudo unlink /var/run/supervisor.sock  然后在检查就没问题了

      在检测以下你的配置程序是否成功:ps -ef|grep test1

      如果出现dotnet test1.dll 则说明成功了。

      现在我们试试访问http://localhost:5000 ,可以正常访问,这里就不截图了,图片太多了…… 至此在没有手动在publish目录下执行dotnet test1.dll的情况下就可以访问http://localhost:5000/ 了 

      现在我们在启动nginx ,利用IP地址访问:http://192.168.1.8:10020/

      至此,安装Ubuntu、.net core2、mvc demo、安装并配置nginx代理、安装并配置supevisor守护进程全部,操练完毕。哈哈

      2017-11-10 更新

      1、https://github.com/Microsoft/WSL

      2、win10 安装Linux子系统官方文档:https://msdn.microsoft.com/zh-cn/commandline/wsl/install-win10 

      3、使用 Nginx 在 Linux 上为 ASP.NET Core 设置托管环境,并对其进行部署

      4、本来也想为supevisor守护进程设置开机启动,但是没有弄出来,所以本文也没有提供。今天发现了这个:Failed to get properties: Launch helper exited 。不知道是不是win10中的Linux 还不支持systemctl? Linux方面不是很了解。如果有了解的,请不吝赐教,非常感谢!!! 

  • 相关阅读:
    Ubiquitous Religions-并查集(5)
    The Suspects-并查集(4)
    Is It A Tree?-并查集(3)
    Html5 缓存
    HTML 5 Web 存储 localStorage
    html5画布显示图片问题
    html5画布
    html5拖动
    html5音频及视频
    linux mint的小方法
  • 原文地址:https://www.cnblogs.com/du-blog/p/7788420.html
Copyright © 2011-2022 走看看