ASP.NET CORE部署到CentOS中

  1. 在Linux上安装.NET Core
  1. 配置Nginx
  • 安装前准备

    yum install gcc-c++

    yum install pcre pcre-devel

    yum install zlib zlib-devel

    yum install openssl openssl--devel

  • 下载安装Nginx,执行如下命令

    wget http://nginx.org/download/nginx-1.11.13.tar.gz

  • 解压

    tar -zxvf nginx-1.11.13.tar.gz

  • 进入解压目录

    cd nginx-1.11.13

  • 配置

    ./configure --prefix=/usr/local/nginx

  • 注意:这里可能会报错,提示“pcre.h No such file or directory”,需要安装

    libprce3-dev:sudo apt-get install libpcre3-dev
  • 注意:提示“./configure: error: C compiler cc is not found”,需要检查是否安转了

    常用必备支持库,如没有,需要安装g++,gcc:yum install gcc-c++

  • 安装nginx

    make

    make install

  • systemctl start nginx 来启动nginx
  • systemctl enable nginx 来设置nginx的开机启动

  1. 配置防火墙

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

    systemctl restart firewalld(重启防火墙以使配置即时生效)

    systemctl stop firewalld.service(关闭防火墙)

    systemctl disable firewalld.service(关闭开机启动)

  2. 配置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 使其即时生效

  • 若出现502错误;这个问题是由于SELinux保护机制所导致,我们需要将nginx添加至SELinux的白名单。

    yum install policycoreutils-python

    cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

    semodule -i mynginx.pp

  1. 配置守护服务(Supervisor)
  • 安装Supervisor

    yum install python-setuptools

    easy_install supervisor

  • 配置Supervisor

    mkdir /etc/supervisor

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

  • 修改supervisord.conf文件,将文件尾部配置改为

    [include]

    files=conf.d/*.conf

  • 修改配置文件可用 supervisorctl reload 命令使其生效

  1. 配置ASP.NET Core应用的守护
  • 创建一个WebDemo.conf文件,内容如下

    [program:WebDemo]

    command=dotnet WebDemo.dll (运行程序的命令)

    directory=/root/code/WebDemo/ (命令执行的目录)

    autorestart=true (程序意外退出是否自动重启)

    stderr_logfile=/var/log/WebDemo.err.log (错误日志文件)

    stdout_logfile=/var/log/WebDemo.out.log (输出日志文件)

    environment=ASPNETCORE_ENVIRONMENT=Production (进程环境变量)

    user=root (进程执行的用户身份)

    stopsignal=INT

  • 将文件拷贝至:“/etc/supervisor/conf.d/”目录下

  • 运行supervisord查看是否生效

    supervisord -c /etc/supervisor/supervisord.conf

    ps -ef | grep WebDemo

  • 可能出现的问题
  1. 运行supervisord -c /etc/supervisor/supervisord.conf报错

    Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.
  • 解决办法

    ps -ef |grep supervisord

    kill -s SIGTERM 2503

参考:http://stackoverflow.com/questions/25121838/supervisor-on-debian-wheezy-another-program-is-already-listening-on-a-port-that

  1. 配置Supervisor开机启动
  • 新建一个supervisord.service文件

    [Unit]

    Description=Supervisor daemon

    [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

  • 将文件拷贝至:“/usr/lib/systemd/system/”目录下

    systemctl enable supervisord

    systemctl is-enabled supervisord 验证是否为开机启动

ASP.NET CORE部署到Linux的更多相关文章

  1. Asp.Net Core部署到Linux服务器

    从2016年7月, .NET Core1.0 正式发布开始,由于时间问题,我没怎么关注过.NET Core,最近刚抽出点时间研究了下,先讲下如何把ASP.NET Core部署到Linux上吧.这里我用 ...

  2. 从零开始,将ASP.NET Core部署到Linux生产环境

    研究.NET Core已经一段时间了,一直都是在Windows上开发,这2天尝试着将公司一个很简单的内部Web项目改造成了ASP.NET Core,并且部署到Linux上.生产环境如下: Linux ...

  3. ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

    一.前言  最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...

  4. ASP.Net Core 运行在Linux(Ubuntu)

    这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程. Linux Disibutaion:Ubuntu 14.04 Web Server:nginx. ...

  5. ASP.NET Core MVC 在linux上的创建及发布

    前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...

  6. .NET Core部署到linux(CentOS)最全解决方案,常规篇

    本文为大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装.Xshell,Xftp的使用方法.git在linux下的交互使用以及.net core ...

  7. .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)

    在.NET Core部署到linux(CentOS)最全解决方案,常规篇一文,我们详细讲解了传统的.NET Core部署到Linux服务器的方法,学到了Linux在虚拟机下的安装.Xshell,Xft ...

  8. .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)

    在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...

  9. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

    ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...

随机推荐

  1. opensessioninviewFilter导致org.hibernate.NonUniqueObjectException

    起因: 公司业务需求,增加了一个新的数据源,增加之后,起初一切正常,但是发现后台管理系统所有Ajax请求获取信息没有问题,但是涉及到保存操作就抛出异常. 异常: org.hibernate.NonUn ...

  2. iOS 推送全解析,你不可不知的所有 Tips!

    本文旨在对 iOS 推送进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacode 使用 iOS ...

  3. SqlService性能检测和优化工具

    工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问 ...

  4. 使用python操作InfluxDB

    环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6 准备工作 启动服务器 执行如下命令: service influxdb start 示例如下: [roo ...

  5. cocos2dx 魔塔项目总结(一)

    <魔塔天城>发布已经有半年的时间了,一直想找时间来总结一下这个项目,但总是一拖再拖.如果再这么拖下去,就永远都不会有时间来写这个总结了,时间总是挤出来的. 魔塔天城使用的cocos2dx ...

  6. 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复

    3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 69  Solved:  ...

  7. 1611: [Usaco2008 Feb]Meteor Shower流星雨

    1611: [Usaco2008 Feb]Meteor Shower流星雨 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1010  Solved: 44 ...

  8. 关于vue-clidown到本地后,拷贝文件库到另外一台电脑上npm run dev编译报错的处理

    这些天自己在用vue-cli项目,在家里的电脑下下来后写了一些demo,拿到公司继续开发的时候发现删除node_modules文件,运行npm install和npm run 百度,搜狗了好久都没有找 ...

  9. AVFoundation之如何从摄像头获取图像

    前言: 最近项目有个需求是对试图对手机密码进行强破解的人进行拍照(通过摄像头截图),因为之前没做过,所以一堆坑.现在就把我的经验都分享出来,希望后来人不用再踏上坑途中. 直接上代码: // 创建会话 ...

  10. Unity中溶解shader的总结

    在实际的游戏工程中,经常美术和策划会提出溶解的表现要求.比如子弹在飞行的时候,弹道不断的消融:角色受到大型炮弹的攻击,在击飞的时候不断的消融等等诸如此类的表现.一般的消融都是结合粒子系统来实现,通过给 ...