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


    需要安装的工具

    • .Net Core
    • Nginx反向代理服务器(相当于Windows下的IIS)
    • Supervisor(进程管理工具)

    .Net Core安装方法请参阅

    官方文档

    安装完成后就可以在项目文件夹,使用以下命令启动网站

    dotnet xxx.dll

    然后就可以在浏览器打开localhost:5000(5000为默认端口,如果有修改,请使用实际端口)

    但是现在还不能通过ip访问,这就需要Nginx实现。

    Nginx

    通过命令安装:

    sudo apt-get install nginx

    然后配置nginx的代理转发,修改/etc/nginx/sites-available/default,修改内容如下

    复制代码
    //如果没有权限修改,请使用 sudo chmod 777 xxx 修改权限(xxx表示文件夹路径或者文件名)
    
    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

    sudo nginx -t
    
    sudo nginx -s reload

    这样就实现了通过IP访问

    然而,重启后我们会发现网站并没有开机启动,这个时候就需要Supervisor了


    Supervisor


    安装:

    1
    sudo apt-get install supervisor

    安装完成之后,在 /ect/supervisor/confg.d/ 目录下新建一个配置文件,取名为 TestCore.conf (我取的是当前项目的名称)

    使用命令新建文件:

    sodu touch TestCore.conf

    打开TestCore.conf,写入如下命令(如果没有权限,请参照上面的方法):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [program:TestCore]
    command=dotnet TestCore.dll #要执行的命令
    directory=/home/xx/TestCore #命令执行的目录
    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 #标准输出日志
     
    //注:#内容为注释,代码中请删除

    配置好以后,需要重新加载一下配置

    sudo service supervisor stop
    sudo service supervisor start

    接下来重启机器,发现可以自动运行

    重启nginx服务

    service nginx restart

     参考文章:http://www.cnblogs.com/xx2oo8/p/6907526.html

  • 相关阅读:
    文件读写,函数,元组和集合
    Python列表,字典和字符串操作
    linux grep程序输出 文本过滤
    prj坐标转换
    ubuntu 分卷解压中文乱码
    利用ssh 删除远程服务器文件
    git 提交
    linux 命令scp
    osgEarth编译——以VS2012为例
    GDAL2.0编译——32位和64位
  • 原文地址:https://www.cnblogs.com/xiaoquangege/p/7285967.html
Copyright © 2020-2023  润新知