• .NET CORE+CENTOS部署+supervisor守护


    一、安装.NetCore和发布项目
    1、要开始安装.NET,您需要注册微软签名密钥并添加微软产品提要。这只需要每台机器做一次。打开命令提示符并运行以下命令
    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'
    2、更新 yum:
    sudo yum update

    3、安装依赖:
    sudo yum install libunwind libicu
    4、安装.Net Core Sdk:
    (1)、先查看skd都有哪些版本
    sudo yum search dotnet-sdk

    (2)安装:
    sudo yum install dotnet-sdk-2.1.200.x86_64
    5、查看是否安装成功:
    dotnet --version
    6、创建项目
    dotnet new mvc WebDev
    7、运行项目
    dotnet run,这里就可以访问了,默认使用 http://localhost:5000
    如果执行成功,可以进行下面的步骤
    8、发布项目:
    dotnet publish 默认项目会发布到./bin/Debug/netcoreapp2.1/publish(netcoreapp2.1是我sdk的版本) 目录下
    9、进入到发布目录,执行命令:
    dotnete WebDev.dll,就会执行成功,直接访问
    http://localhost:5000 ,说明发布成功
    二、安装nignx:
    curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    rpm -ivh nginx.rpm
    yum install nginx
    输入:systemctl start nginx  来启动nginx。
    输入:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。
    三、配置防火墙:

    命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

    命令:systemctl restart firewalld(重启防火墙以使配置即时生效)
    四、配置nginx对ASP.NET Core应用的转发
    修改 /etc/nginx/conf.d/default.conf 文件
    将文件内容替换为
    server {
        listen 80;
        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;
        }
    }
    执行:nginx –s reload 使其即时生效

    命令:dotnet
    /bin/Debug/netcoreapp2.1/publish/WebApplication1.dll

    到这里,.NetCore 部署已经完成;

    四、配置守护服务(Supervisor)

    supervisor的介绍详见:https://www.studyscript.com/Post/index/id/3038.html

    1、安装supervisor

    #yum install python-setuptools  //安装python安装工具
    #easy_install supervisor  //安装supervisor

    2、生成supervisor配置文件

     建立目录,并赋予所有者可读、可写、可执行(700)权限

    #mkdir -m 700 -p /etc/supervisor

    3、创建配置文件

    #echo_supervisord_conf > /etc/supervisor/supervisord.conf

    4、修改配置文件

    #vim /etc/supervisor/supervisord.conf

      在文件最后加上

    [include]
    files=/etc/supervisor/conf.d/*.conf

    5、创建进程配置文件

      5.1创建进程配置文件存放目录

      #mkdir -m 700 /etc/supervisor/conf.d

      5.2、创建进程配置文件

      #vim /etc/supervisor/conf.d/IO_Spider_WebAPI.conf

      编辑内容

    [program:IO_Spider_WebAPI]
    command=/bin/bash -c "dotnet xxgk.dll"
    directory=/home/zhangfei/IO_Spider/WebAPI/
    autorestart=true
    stderr_logfile=/var/log/IO_Spider_WebAPI.error.log
    stdout_logfile=/var/log/IO_Spider_WebAPI.stdout.log
    environment=ASPNETCORE_ENVIRONMENT=Development
    user=root
    stopsignal=INT

    6、创建supervisor自启动服务

      6.1、创建服务文件

      #vim /lib/systemd/system/supervisor.service

      6.2、编辑内容

    [Unit]
    Description=supervisor
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    ExecStop=/usr/bin/supervisorctl shutdown
    ExecReload=/usr/bin/supervisorctl reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    [Install]
    WantedBy=multi-user.target

    7、赋权

    #chmod 754 /lib/systemd/system/supervisor.service

    8、设置开机自启动

    #systemctl enable supervisor.service

    9、运行服务

    #systemctl start supervisor.service

    10、查看进程执行情况

    #supervisorctl

    11、进入supervisor提示符之后输入“status”查看,或者#supervisorctl status




     
  • 相关阅读:
    CocoaPods:library not found for -lPods
    从Objective-C到Swift 单例模式
    如何讓 iOS UIWebView 連線時傳送自訂 Cookie 的方法[转]
    ASIHTTPRequest-Cookie的使用[转]
    Transform动画初解 in Swift
    UIWebView清除缓存和cookie[转]
    Oracle数据库体系结构、启动过程、关闭过程
    Oracle创建数据库
    oracle的imp导入时覆盖目标数据库
    oracle更改用户名
  • 原文地址:https://www.cnblogs.com/JoinLet/p/9271297.html
Copyright © 2020-2023  润新知