.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

ASP .Net Core系统部署到Ubuntu 16.04 具体方案的更多相关文章

  1. ASP .Net Core系统部署到SUSE 16 Linux Enterprise Server 12 SP2 64 具体方案

    .Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...

  2. 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  3. Install .NET Core Runtime on Linux Ubuntu 16.04 x64

    原文链接https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-current nstall ...

  4. ASP .Net Core系统部署到SUSE Linux Enterprise Server 12 SP3 64 具体方案

    .Net Core 部署到 SUSE Linux Enterprise Server 12 SP3 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2. ...

  5. ASP .Net Core系统部署到 CentOS7 64 具体方案

    .Net Core 部署到 CentOS7 64 位系统中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是 ...

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

    需要安装的工具 .Net Core Nginx反向代理服务器(相当于Windows下的IIS) Supervisor(进程管理工具) .Net Core安装方法请参阅 官方文档 安装完成后就可以在项目 ...

  7. [aspnetcore]asp.net core程序部署到Ubuntu中的路径问题

    先标记下正确写法 new FileInfo(Environment.CurrentDirectory + "/Config/Log4net.config") 很多同行喜欢这样写: ...

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

    今天来整理下 netcore 在 linux(ubuntu) 上的运行环境搭建 对应版本 ubuntu 16.04 .net core 2.1 nginx version: nginx/1.10.3 ...

  9. Ubuntu 16.04安装JDK/JRE并配置环境变量

    作为一个Linux新手,在写这篇文章之前,安装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统.经过几天的研究,今天新装系统,从头来完整配置一遍 系统版本:Ubuntu 16.04 JDK版 ...

随机推荐

  1. 洛谷P1592 互质

    题目描述 输入两个正整数n和k,求与n互质的第k个正整数. 输入输出格式 输入格式: 仅一行,为两个正整数n(≤10^6)和k(≤10^8). 输出格式: 一个正整数,表示与n互质的第k个正整数. 由 ...

  2. 洛谷 P3942 将军令 解题报告

    P3942 将军令 题目描述 又想起了四月. 如果不是省选,大家大概不会这么轻易地分道扬镳吧? 只见一个又一个昔日的队友离开了机房. 凭君莫话封侯事,一将功成万骨枯. 梦里,小\(F\)成了一个给将军 ...

  3. BZOJ 2140 稳定婚姻

    2140: 稳定婚姻 Description 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚姻问题的专家认为,是与简化离婚手续有关. 25岁的 ...

  4. url参数中有+、空格、=、%、&、#等特殊符号的问题解决

    url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?解决办法将这些字符转化成服务器可以识别的字符,对应关系如下:URL字符转义 用其它 ...

  5. 「转」图像算法---白平衡AWB

    本文大体讲解了白平衡的算法流程,适用于想了解和学习白平衡原理的筒子们. 一般情况下要实现AWB算法需要专业的图像和算法基础,本文力图通过多图的方式,深入浅出,降低初学者理解上的门槛,让大家都理解到白平 ...

  6. Hadoop生态圈-Hbase过滤器(Filter)

    Hadoop生态圈-Hbase过滤器(Filter) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  7. gitlab的备份与恢复与迁移

    一.gitlab的备份1.1 创建备份目录,并授权 1 2 3 4 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-no ...

  8. pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法

    pom.xml文件在添加了新的依赖后,一直报:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的错误,Maven ...

  9. Centos7远程桌面 vnc/vnc-server的设置

    Centos7与Centos6.x有了很大的不同. 为了给一台服务器装上远程桌面,走了不少弯路.写这篇博文,纯粹为了记录,以后如果遇到相同问题,可以追溯. 1.假定你的系统没有安装vnc的任何软件,那 ...

  10. 动态规划:树形DP-选课(树形背包)

    学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得相应的学分.在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选 ...