• 【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境


    查看linux内核版本

    uname -a

    打印结果

    python@ubuntu:~$ uname -a
    Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    查看ubuntu系统版本

    lsb_release -a

    打印结果

    python@ubuntu:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID:    Ubuntu
    Description:    Ubuntu 16.04.1 LTS
    Release:    16.04
    Codename:    xenial
    python@ubuntu:~$ 

    可以看到版本号是 16.4

    查看官方文档执行 dotnet 环境安装过程

    https://www.microsoft.com/net/learn/get-started/linuxredhat

     这里我们选择 Ubuntu

    继续执行下面的命令

    Register the trusted Microsoft signature key:

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg

    继续

    sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

    根据系统版本,执行下面的命令

    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

    好了,环境部署完毕,下面我们安装 SDK

    分别执行下面三行命令

    sudo apt-get install apt-transport-https
    sudo apt-get update
    sudo apt-get install dotnet-sdk-2.1
     

    至此,SDK安装完毕

     ---------------------------------------------------------------------------------------------------------------------

    下面我们新建一个控制台项目测试一下

    dotnet new console -o myApp
    cd myApp
    dotnet run

     遇到了一个目录权限问题

    Template "Console Application" could not be created.
    Access to the path '/etc/apt/trusted.gpg.d/myApp' is denied.

    使用权限命令,添加目录的权限

    然而这里,我们修改一下创建位置,改成当前的 home 目录创建即可

    运行结果如下

    python@ubuntu:~/dotnet$ dir
    myApp
    python@ubuntu:~/dotnet$ cd myApp/
    python@ubuntu:~/dotnet/myApp$ dir
    myApp.csproj  obj  Program.cs
    python@ubuntu:~/dotnet/myApp$ dotnet run
    Hello World!
    python@ubuntu:~/dotnet/myApp$ 

    编译运行成功了。

    下面我们用在 windows 下编译好的 mvcapi 项目在 linux 上运行一下试试。

     首先我们把整个项目解决方案目录传到 linux 服务器上

     这里我用的是 xftp

    然后要运行哪个项目,就直接切换到项目的目录,例如我要运行 mywebapi 这个api接口

    python@ubuntu:~/dotnet/myweb$ cd mywebapi
    python@ubuntu:~/dotnet/myweb/mywebapi$ ls
    appsettings.Development.json  bin          mywebapi.csproj       obj         Properties  wwwroot
    appsettings.json              Controllers  mywebapi.csproj.user  Program.cs  Startup.cs
    python@ubuntu:~/dotnet/myweb/mywebapi$ dotnet run
    Models/GEDU_LSA_V_1_7_1Context.cs(38,10): warning CS1030: #warning: 'To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.' [/home/python/dotnet/myweb/core/mydb.csproj]
    Controllers/MyController.cs(24,13): warning CS0162: Unreachable code detected [/home/python/dotnet/myweb/mywebapi/mywebapi.csproj]
    Using launch settings from /home/python/dotnet/myweb/mywebapi/Properties/launchSettings.json...
    Hosting environment: Development
    Content root path: /home/python/dotnet/myweb/mywebapi
    Now listening on: http://localhost:61697
    Application started. Press Ctrl+C to shut down.
    ^CApplication is shutting down...

     这个时候我们访问以下 api 接口地址

    成功看到接口返回的json

    mvc项目也是这样操作,即可。

    这里只是简单的通过命令行运行,如果要作为服务器,还需要 反向代理 和 自启动 的高级配置

    可参考如下博客

    【netcore基础】ubuntu 16.04 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动

  • 相关阅读:
    定时日志清理
    python ros 订阅robot_pose获取机器人位置
    python ros 重新设置机器人的位置
    c 宏的定义
    dos与unix系统的格式转化
    robot_pose的类型
    ROS编译时(catkin_make)找不到bullet,Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY
    python 压缩tar 包
    python 文件分割
    python 千位分隔符,
  • 原文地址:https://www.cnblogs.com/jhli/p/8315409.html
Copyright © 2020-2023  润新知