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

1、安装工具

1、apache

2、.Net Core(dotnet-sdk-2.0)

3、Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站)

2、安装apache

安装apache,在命令行终端中输入一下命令:

sudo apt-get install apache2

(注:查看apache 版本 sudo apachectl -v)

重启apache服务 sudo /etc/init.d/apache2 restart

在浏览器里输入http://localhost或者是http://127.0.0.1,如果看 到了It works!,那就说明Apache就成功的安装了,Apache的默认 安装,会在/var下建立一个名为www的目录,这个就是Web目 录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

3、安装.NET Core 2.0

1、安装.NET Core 2.0 到Linux系统,如果安装的预览版本的话, 要先卸载原来的预览版本。

A、查看方法,Linux系统中,右键运行终,输入dotnet --version 结果带有preview即为预览版本。

B、卸载方法,Linux系统中,右键运行终,输入sudo apt remove dotnet-sdk-2.0.0-preview3-006729(含preview即为预览版) 进行卸载预览版本。

2、注册Linux系统(Ubuntu and Debian based systems,不同的系统 操作不一样)

a、Ubuntu 17.10

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-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list'

b、Ubuntu 17.04 (Planned EOL by Ubuntu, January 2018)

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-zesty-prod zesty main" > /etc/apt/sources.list.d/dotnetdev.list'

c、Ubuntu 16.04(本系统)

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'

3、更新安装包,安装.NET Core

sudo apt-get update

sudo apt-get install dotnet-sdk-2.1.4

注:上面的注册和安装可以参考 https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04

4、查看一下 dotnet --version  结果是  2.1.4 则说明安装成功。

(注:简单的应用程序项目文件夹,使用以下命令启动网站,只要打开发布网站的文件,右键终端中打开 dotnet run或者dotnet xx.dll,即可运,xx为网站的名称)

sudo dotnet xxx.dll

然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际IP和端口访问)

这样就实现了通过IP访问,然而,重启后我们会发现网站并没有开机启动,这个时候就需要Supervisor了
3、安装Supervisor(设置开机自动设置网站)

1、右键在终端中打开,输入安装命令:

sudo apt-get install supervisor

2、安装完成之后,在 /ect/supervisor/confg.d/ 目录下新建一个配置文件,取名为 MmPSCore.conf (个人取的是当前项目的名称)

3、使用命令新建文件:

sudo touch MmPSCore.conf

打开MmPSCore.conf,写入如下命令(如果没有权限,请如下方法 sudo gedit /ect/supervisor/confg.d/MmPSCore.conf  #编辑命令

):

命令内容如下:

[program:MmPSCore]

command=dotnet MmPSCore.dll #要执行的命令(发布网站执行文件)

directory=/home/xx/MmPSCore#命令执行的目录(发布网站文件路径)environment=ASPNETCORE__ENVIRONMENT=Production #环境变量

user=www-data #进程执行的用户身份

stopsignal=INT

autostart=true #是否自动启动

autorestart=true #是否自动重启

startsecs=1 #自动重启间隔

stderr_logfile=/var/log/TestCore.err.log #标准错误日志

stdout_logfile=/var/log/TestCore.out.log #标准输出日志

//注:#后面的内容为注释,在保存上面的文件代码时,记得删除

4、配置好以后,需要重新加载一下配置

重新加载配置以后的设置

sudo supervisord -c /etc/supervisor/supervisord.conf 服务端

sudo supervisorctl -c /etc/supervisor/supervisord.conf 客户端

重启

supervisor服务

sudo service supervisor stop

sudo service supervisor start

5、接下来重启机器,在浏览器中输入localhost:5000,看看网站是否跟随开机自动运行。

补充:

apt-get install curl 提示没有这个软件源

解决方法:

sudo add-apt-repository ppa:costamagnagianfranco/ettercap-stable-backports

sudo apt-get update

sudo apt-get install curl

05-11 19:39