最新文章:

首页 笔记

部署.NET Core应用到CentOS7

发布时间:2016年11月12日 评论数:0 阅读数:1698

    做个笔记:

    服务器:阿里云CentOS7 64位

    工具:Xshell、FileZilla

    .net core版本:1.0

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

    首先将应用程序发布,在cmd下进入项目目录,使用命令:

    dotnet publish –c release

    1.png


    安装.NET Core SDK For CentOS7,下为微软提供的安装方法:

    sudo yum install libunwind libicu
    curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529
    sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
    sudo ln -s /opt/dotnet/dotnet /usr/local/bin
    安装后可以使用dotnet --info来看看是否安装成功

    4.png

    接下来将之前发布的文件上传至相应的文件夹,我这里使用的FileZilla上传文件。

    上传完成后执行.dotnet .../.../.../应用.dll 看看是否能够成功运行

    2.png


    这时候应用还无法访问到,我们需要一个WEB容器来转发。我原本已经装有LNMP,这里直接添加一个虚拟主机(步骤省略....)

    接下来配置nginx对应用的转发,这里给出我的配置:

    server
        {
            listen 80;
            #listen [::]:80;
            server_name xymusic.ijglb.com;
    
            location / {
            proxy_pass http://localhost:5000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection keep-alive;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
            }
        }
    配置好后重启LNMP使之生效。

    接下来到应用目录,执行dotnet XXX.dll命令启动,访问域名就能看到应用了。

    考虑到应用运行在shell之下,退出shell后会跟着一起被关闭,在百度相关资料后我选择Supervisor来守护应用的进程。

    安装Supervisor:

    yum install python-setuptools
    easy_install supervisor
    这里我卡了好一会儿,各种报错,无法安装。后来使用yum update更新了一下才成功安装。

    配置Supervisor:

    mkdir /etc/supervisor
    echo_supervisord_conf > /etc/supervisor/supervisord.conf
    修改supervisord.conf文件,将文件尾部最后两行改为:

    [include]
    files = conf.d/*.conf
    这里注意,原本两行前面都有;注释的,我一开始没注意到,第一行前面的;没去掉,导致后面一直奇怪怎么没有效果。

    配置对应用的守护:

    [program:XYMusic]
    command=dotnet XYMusic.dll ; 运行的命令
    directory=/home/wwwroot/xymusic.ijglb.com/ ; 命令执行目录
    autorestart=true ; 自动重启
    stderr_logfile=/var/log/WebApplication1.err.log ; 错误日志
    stdout_logfile=/var/log/WebApplication1.out.log ; 输出日志
    environment=ASPNETCORE_ENVIRONMENT=Production ; 环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT

    将文件储存为XYMusic.conf拷贝到/etc/supervisor/conf.d/目录下,运行supervisord


    systemctl start supervisord.service
    ps -ef | grep XYMusic
    QQ截图20161112015804.png


    看到有相应的进程则成功了。

    接下来把supervisord加入开机启动:


    systemctl enable supervisord.service
    至此.NET Core应用部署完成
二维码加载中...
本文作者:极光萝卜      文章标题: 部署.NET Core应用到CentOS7
本文地址:http://www.ijglb.com/post/42
版权声明:若无注明,本文皆为“极光萝卜丨某菜鸟的里世界”原创,转载请保留文章出处。