1、安装.Net Core SDK

  1.1、 在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次。

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

  1.2 、更新可用于安装的产品,然后安装.NET SDK。

sudo yum update
sudo yum install dotnet-sdk-2.2

  1.3、验证安装是否成功

dotnet --version

2、部署.Net Core项目

  2.1、将发布后的.Net Core项目上传到Linux 新建文件夹 yunying中,然后进入yunying文件夹中,运行项目

  2.2、然后再浏览器中访问:http://ip:5000,如果访问不了,先将防火墙关闭

3、安装Nginx并配置Nginx对项目的转发

  3.1、添加源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  3.2、安装Nginx

sudo yum install -y nginx

  3.3、启动Nginx并设置开机自动运行

sudo systemctl start nginx
sudo systemctl enable nginx

  3.4、查看是否安装成功

在浏览器中输入:http://ip

  

  3.5、修改Nginx的配置文件,将/etc/nginx/conf.d/default.conf 文件内容替换为:

server {
listen ;
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;
proxy_set_header X-Forwarded-For
proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

配置完成后执行 nginx -s reload 或者 systemctl restart nginx 进行 重启nginx,再次执行2操作运行.net core项目,然后访问80端口,这时有可能报502错误,原因是SELinux配置问题。

解决办法有两种:

a、关闭SELinux

输入:seatatus,如果SELInux status:enabled,表示开启,修改配置文件/etc/selinux/config  修改为SELINUX=disabled

或者执行命令:

setenforce
sed -i 's/enforcing$/disabled/g' /etc/selinux/config

b、将Nginx加到SELinux的允许名单

1、yum install policycoreutils-python
2、sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
3、sudo semodule -i mynginx.pp

重新运行.Net Core项目,并访问,就可以成功访问了。

4、配置Supervisor守护进程

  4.1、安装Supervisor

1、yum install python-setuptools
2、easy_install supervisor

  4.2、配置Supervisor

创建supervisor文件夹,通过echo_supervisord_conf初始化配置文件

1、mkdir /etc/supervisor
2、echo_supervisord_conf > /etc/supervisor/supervisord.conf

  4.3、修改新建的supervisord.conf配置信息,将最后面的修改为

即去掉最后两行前面的“;”号。

  4.4、为.Net Core 项目添加进程配置文件:

在/etc/supervisor/目录下创建名字为conf.d文件夹,在conf.d文件夹中创建一个WebDemo.ini文件,在WebDemo.ini文件添加以下配置

[program:WebDemo]
command=dotnet WebDemo.dll ; 运行程序的命令
directory=/root/yunying/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/WebDemo.err.log ; 错误日志文件
stdout_logfile=/var/log/WebDemo.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

  4.5、启动Supervisor服务:

supervisord -c /etc/supervisor/supervisord.conf

启动服务后可以通过命令查看是否配置成功

ps -ef | grep WebDemo.dll

如果看到以下内容,表示配置成功,就可以访问.Net Core项目了

  4.6 配置Supervisor开机启动

进入/usr/lib/systemd/system/目录,并创建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

使配置生效:

systemctl daemon-reload

设置服务开机启动:

systemctl enable supervisord

启动supervisor进程:

systemctl start supervisord

验证是否为开机启动:

systemctl is-enabled supervisord

5、常用命令:

  5.1、Nginx

nginx             //启动nginx
nginx -s reload //重启nginx
nginx -s stop //关闭nginx

  5.2、supervisor

supervisorctl status    //查看所有任务状态
supervisorctl shutdown //关闭所有任务
supervisorctl start|stop|restart all //控制所有进程
supervisorctl start|stop|restart program_name //控制目标进程

Centos7 部署.Net Core+Nginx+Supervisor的更多相关文章

  1. CentOS7部署Flask+Gunicorn+Nginx+Supervisor

    1. Git客户端 Win10安装git for windows 1.1 设置Git全局参数 打开Git Bash $ git config --global user.name "Alic ...

  2. [原创]Centos7 安装配置ASP.NET Core+Nginx+Supervisor

    序言 此教程安装的都是最新版本的. 一键安装 有了这个神器,下面的教程就不用做了!只需运行几行代码,直接打开浏览器就可以访问! cd /home/ wget https://files.cnblogs ...

  3. 生产环境中CentOS7部署NET Core应用程序

    NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...

  4. CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目

    配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监 ...

  5. CentOS+Nginx+Supervisor部署ASP.NET Core项目

    对.Net Core的学习和实践,已经进行了一年多的世间,截止目前,微软已经发布.Net Core2.1,关于.NetCore的应用部署的文章比比皆是.今天借此,回顾下.net core环境的部署过程 ...

  6. Linux+Nginx+Supervisor部署ASP.NET Core实操手册

    一.课程介绍 在上一节课程<ASP.NET Core托管和部署Linux实操演练手册>中我们学过net core的部署方式多样性和灵活性.我们通过远程工具输入dotnet 程序集名称.dl ...

  7. asp.net Core 部署到CentOs7上,使用Nginx做代理

    一.CentOs7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过 ...

  8. asp.net core 二 Nginx Supervisor 负载,监听

           ASP.NET Core负载均衡集群搭建(CentOS7+Nginx+Supervisor+Kestrel)          asp.net core在linux运行下,一但命令行退出 ...

  9. 阿里云CentOS7部署ASP.NET Core

    本文主要介绍了阿里云CentOS7下如何成功的发布ASP.Core应用并使用nginx进行代理, 并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云64位CentOS 7.4.1708版本; ...

随机推荐

  1. Dart的导包

    Dart中的库主要有三种: 1.我们自定义的库 import 'lib/xxx.dart'; 2.系统内置库 import 'dart:math'; import 'dart:io'; import ...

  2. 【Java 基础项目 - - Bank项目4】 对象构造/跨package调用

    UML设计: 文件组织: (注: 在bank4中,直接调用bank3的内容, 不再重复编写代码即可!) 代码编写Bank.java: package Banking_4; import Banking ...

  3. Gym - 101981B Tournament (WQS二分+单调性优化dp)

    题意:x轴上有n个人,让你放置m个集合点,使得每个人往离他最近的集合点走,所有人走的距离和最短. 把距离视为花费,设$dp[i][k]$表示前i个人分成k段的最小花费,则有递推式$dp[i][k]=m ...

  4. JAVA-WEB-简单的四则运算

    首先附上选择题目数量和每行题数的JSP代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  5. 嵌入式系统FreeRTOS — 互斥信号量

    互斥信号量可以在资源保护的时候很有帮助.用于控制在两个或多个任务间访问共享资源.任务1里面用互斥,那么任务2只能等任务1访问完再访问同一个变量. 比如全局变量double gADC_value[CH_ ...

  6. [转]Normal Map中的值, Tangent Space, 求算 Tangent 与 Binormal 与 TBN Matrix

    原文出处 https://www.cnblogs.com/lookof/p/3509970.html - Normal Map中的值 -   有没有想过,Normal Map(法线贴图)为什么看上去都 ...

  7. 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) D. Delivery Delays (二分+最短路+DP)

    题目链接:https://codeforc.es/gym/101933/problem/D 题意:地图上有 n 个位置和 m 条边,每条边连接 u.v 且有一个距离 w,一共有 k 个询问,每个询问表 ...

  8. BZOJ 1845: [Cqoi2005] 三角形面积并 (辛普森积分)

    大力辛普森积分 精度什么的搞了我好久- 学到了Simpson的一个trick 深度开11,eps开1e-4.跑的比有些扫描线还快- CODE #include <bits/stdc++.h> ...

  9. 关于单片机特殊功能寄存器(SFR)和内存(RAM)公用地址:80-FF 如何区分

    RAM 的 80-FF 需要间接寻址进行访问 如:  MOV R0,#80H;    MOV A,@R0 ;  (内存 80H地址内的数据放到A中) SFR的80-FF需要直接寻址进行访问如: MOV ...

  10. 【csp模拟赛4】 珠江夜游 (cruise.cpp)-二分,贪心

    Problem 1 珠江夜游 (cruise.cpp) [题目描述] 小 Z 放假后难得来一趟广州游玩,当然要吃遍广州各路美食小吃然后再 到珠江新城看看远近闻名的小蛮腰啦!可当小 Z 一路吃吃吃以后, ...