zoukankan      html  css  js  c++  java
  • 【Core】.NET Core2.0 部署在Linux

    一、安装.NET  Core SDK 在CentOS上

    1.右键打开命令行

    2.为了安装.NET,需要注册微软签名密钥和添加微软相关的支持。这个操作每台机器只能做一次。

    Add the dotnet product feed(其实就是向微软提交投名状,表示我这台服务器要用core),注意:先检测下是否能联网; 
    打开命令行,执行以下命令:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
    sudo sh -c 'echo -e "[packages-microsoft-com-prod]
    name=packages-microsoft-com-prod 
    baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

     

    3.安装 .NET Core SDK

    命令一:sudo yum update

      需要一段时间,而且会提示是否继续,输入y然后回车。

      如果遇到提示another app is currently holding the yum lock;waiting for it to exit,表示yum正在被使用,通过以下命令强制关闭:rm -f /var/run/yum.pid

    命令二:sudo yum install libunwind libicu


    命令三:sudo yum install dotnet-sdk-2.0.2

                (3.0版本的sudo yum install dotnet-sdk-3.0)

    4.使用命令 dotnet --info 查看是否安装成功

    出现下面界面则说明安装sdk成功

    二、部署网站

    1.创建文件夹

    mkdir core

    cd core

     

    2.我这里使用的是虚拟机,就直接将生成好的文件拷到core目录下,然后执行命令(dotnet 项目名称.dll)

    3.将发布的代码复制到core文件夹

     发布:dotnet NetCore2Mvc.dll

     报错:An assembly specified in the application dependencies manifest (NetCore2.0.Mvc.deps.json) was not found

    出现这个错误,是因为未安装dotnet-hosting-2.0.x (对应上图中的2.0.8)

    使用yum 安装一下:sudo yum install dotnet-hosting-2.0.8

    4.安装完成,发布成功!

    5.浏览网站

    注意:.Net Core 默认创建的项目部署完成以后,只能在本机内访问,外部通过IP是打不开的,可以通过配置Nginx实现。也可以通过修改Program.cs

    WebHost.CreateDefaultBuilder(args)
                    .UseKestrel()
                    .UseUrls("http://*:5000")
                    .UseContentRoot(Directory.GetCurrentDirectory())
                    .UseIISIntegration()
                    .UseStartup<Startup>()
                    .Build();

     UseUrls(http://*:5000即可实现通过IP访问程序。

    三、Supervisor为 dotnet 创建守护进程

    关闭shell后保持程序继续运行

    1.安装 yum install supervisor

    2.在etc文件夹下新建文件夹supervisor

    mkdir /etc/supervisor

    3.在supervisor文件夹下新建文件夹conf.d

    mkdir /etc/supervisor/conf.d

    4.生成supervisord.conf配置文件

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    5.定位到文件夹下修改配置文件:

    cd /etc/supervisor
    
    vim  supervisord.conf

    修改前:

     点击a或i进入修改模式,修改后:

    然后按esc  键入":wq" 回车保存退出

    6.本地新建core3web.conf

    [program:core3web]
    command=dotnet Core3Web.dll
    directory=/netpublish/coreweb
    environment=ASPNETCORE_ENVIRONMENT=Production
    user=root
    stopsignal=INT
    autostart=true
    autorestart=true
    startsecs=1
    stderr_logfile=/var/log/core3web.err.log
    stdout_logfile=/var/log/core3web.out.log

    说明:

    command= 要执行的命令
    directory= 命令执行的目录
    environment= 环境变量
    user= 进程执行的用户身份
    stopsignal=INT
    autostart= 是否自动启动
    autorestart= 是否自动重启
    startsecs= 自动重启间隔
    stderr_logfile= 标准错误日志
    stdout_logfile= 标准输出日志

    上传到自己新建的文件夹conf.d目录下

    在文件夹var/log/ 创建core3web.err.log和core3web.out.log

    7.运行supervisord,查看是否生效

    supervisord -c /etc/supervisor/supervisord.conf

    8.查看进程:

    ps -ef | grep dotnet

    9.守护进程已创建,现在关闭命令窗口也可以访问自己的网站了。

    10.界面管理

    • 10.1键入命令
    # systemctl enable supervisord.service
    # systemctl start supervisord.service
    # systemctl status supervisord.service

    • 10.2修改supervisord.conf配置文件

    默认是被注释的(分号代表注释)

    执行这个文件夹下的conf文件

     ins键 修改后  按esc  键入:wq保存退出 修改后

    • 10.3修改后重新加载配置文件
    supervisorctl reload

    • 10.4访问:9001

     如果需要用户名账号登录把注释去掉就行了

    新增了一个java项目

    新增conf文件

    [program:SpringBootDemo]
    command=java -jar springbootdemo-0.0.1-SNAPSHOT.jar --server.port=7890
    directory=/javapublish/springdemo1
    user=root
    stopsignal=INT
    autostart=true
    autorestart=true
    startsecs=1
    stderr_logfile=/var/log/core3web.err.log
    stdout_logfile=/var/log/core3web.out.log

    reload即可

  • 相关阅读:
    HDU 5273 Dylans loves sequence 暴力递推
    HDU 5285 wyh2000 and pupil 判二分图+贪心
    HDU 5281 Senior's Gun 贪心
    HDU 5651 xiaoxin juju needs help 逆元
    HDU 5646 DZY Loves Partition
    HDU 5366 The mook jong
    HDU 5391Z ball in Tina Town 数论
    HDU 5418 Victor and World 允许多次经过的TSP
    HDU 5642 King's Order dp
    抽屉原理
  • 原文地址:https://www.cnblogs.com/chuankang/p/9473768.html
Copyright © 2011-2022 走看看