• alpine 上部署netcore 项目


    Alpine部署

    注:以下教程是以Alpine v3.7.0系统部署;其他Linux系统部署也基本相同

    1.1 .NET Core环境包下载

    .net core下载地址:https://dotnet.microsoft.com/download

    也可以使用命令下载(.NET Core Runtime):wget https://download.visualstudio.microsoft.com/download/pr/45c5f94c-d22b-4fd8-92f5-de27bbaa29d5/cc2edbae53dfcadeb8ef3fb3330dbc62/aspnetcore-runtime-2.2.2-linux-musl-x64.tar.gz

    本示例使用root用户登录,所以下载后文件默认所在目录路径:/root/ aspnetcore-runtime-2.2.2-linux-musl-x64.tar.gz

    注:网站使用.net core 2.1开发,请下载.net core 2.1及更高版本

    其他版本也是适用本教程,下载.NET Core SDK或NET Core Runtime都适用,本示例使用.NET Core 2.2 Runtime,因为Runtime占用存储空间相对于.NET Core偏小。

    1.2 .NET Core 环境部署

    alpine 包源地址 https://pkgs.alpinelinux.org/packages?name=tar&branch=edge,更新包源 vi /etc/apk/repositories   apk  update.

    root 用户SSH登录 vi /etc/ssh/sshd_config      esc !:wq      service sshd restart

     在部署环境前请先安装相关依赖性,执行以下几个命令:

    1. apk add libstdc++
    2. apk add openssl
    3. apk add ICU
    4. apk add libintl

    将下载的.NET Core Runtime包解压至指定目录,命令:

    sudo mkdir -p /home/dotnet && sudo tar zxf /root/aspnetcore-runtime-2.2.2-linux-musl-x64.tar.gz -C /home/dotnet

    创建链接命令:

    sudo ln -s /home/dotnet/dotnet /usr/local/bin

    如图所示

     

    安装完成后再执行命令dotnet --info

    成功后会提示如下信息

     

    如果安装的.NET Core SDK可以使用命令:dotnet –version

    注:以上环境部署教程同时适用.NET Core SDK

    1.3 部署网站

    网站发布包如图所示:

    将发布好的网站上传至服务器,如图下图所示:

    目录路径:/home/wwwroot/AppCore

    1.4 创建守护进程

    以下教程可以参考:https://www.cnblogs.com/qinghub/p/6396382.html

    1. 安装守护进程命令:apk add supervisor
    2. 创建目录:mkdir /etc/supervisor
    3. 初始化配置文件:

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    1. 编辑默认文件:vi /etc/supervisor/supervisord.conf

    在文件末尾添加

    [include]

    files=conf.d/*.conf

    使用命令进入supervisor 文件夹:cd /etc/supervisor

    在当前目录创建conf.d文件夹:mkdir conf.d

    conf.d目录下创建配置文件:vi app.conf

    文件内容如下:

    [program:app]

    command=dotnet AppCore.dll --urls http://192.168.153.136:8090

    directory=/home/wwwroot/AppCore

    environment=ASPNETCORE__ENVIRONMENT=Production

    user=root

    stopsignal=INT

    autostart=true

    autorestart=true

    startsecs=1

    stderr_logfile=/var/log/app.err.log

    stdout_logfile=/var/log/app.out.log

    配置以上文件后需重新进入进入supervisor 文件夹:cd /etc/supervisor

    重启服务:sudo supervisorctl shutdown

    重新加载配置:sudo supervisord -c /etc/supervisor/supervisord.conf

    执行以上操作后通过IP加端口即可访问网站,端口号默认是80端口,如下图所示

    涉及到图形验证码二维码,需要添加图形库libgdiplus

    字体库apk add font-adobe-100dpi  font-adobe-100dpi安装文件会在/usr/share/fonts中生成自己所需的文件夹,加载字体

    #cd /usr/share/fonts   #fc-list(查看所有字体)

    1.5 重新发布网站

    后续重新发布网站后需要重启服务,可通过守护进程管理页面配置,首先需修改配置文件,

    命令:vi /etc/supervisor/supervisord.conf

    如图所示

     

    去掉节点前面的“;”,将port节点中的ip改为服务器IP地址,

    username和password可以重新修改,修改完配置后需重新加载配置才可生效。

    使用命令进入supervisor目录:cd /etc/supervisor

    关闭服务:supervisorctl shutdown

    重新加载配置: sudo supervisord -c /etc/supervisor/supervisord.conf

    完成以上步骤可以通过IP加端口号(默认是9001)访问supervisor可视化操作界面,如下图所示:

    输入配置文件中设置的用户名和密码,默认用户名/密码:user/123

    重新发布网站替换文件后可在可视化界面点击Restart ”按钮即可,如图所示:

    1.6 加入开机启动脚本

    启动脚本是防止服务器重启后网站无法访问;脚本需要在/etc/local.d目录中创建;创建一个.start后缀的文件

    创建命令:vi app.start

    app.start脚本内容:

    sudo supervisord -c /etc/supervisor/supervisord.conf

    创建后保存app.start文件并赋予权限

    在当前local.d目录执行命令:chmod +x app.start

    并加入开机启动:rc-update add local

  • 相关阅读:
    基本内置类型
    多维数组
    数组
    迭代器
    标准库类型 vector
    标准库类型 string
    运算符优先级表
    类型转换
    sizeof 和逗号运算符
    位运算符
  • 原文地址:https://www.cnblogs.com/Zouzhe/p/10522185.html
Copyright © 2020-2023  润新知