查看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. 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(,): 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(,): 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项目也是这样操作,即可。
这里只是简单的通过命令行运行,如果要作为服务器,还需要 反向代理 和 自启动 的高级配置
可参考如下博客