Linux学习之十--.Net Core环境搭建以及Nginx的搭建
一、Centos7下.Net Core 环境安装:
链接:https://www.microsoft.com/net/core#linuxcentos
按照步骤来:
yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019
mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
ln -s /opt/dotnet/dotnet /usr/local/bin
就这样,.Net Core环境搭建好了,可以使用dotnet --version查看版本号。

可以把我们的.Net Core程序上传到服务器上,使用命令dotnet xxx.dll运行我们的程序。
二、使用Nginx代理转发
参考资料:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
1.添加CentOS 7 EPEL存储库:
yum install epel-release
2.Nginx存储库安装在您的服务器上,使用以下yum命令安装Nginx:
yum install nginx
3.启用Nginx,设置开机启动
systemctl start nginx #启用Nginx systemctl enable nginx #设置开机启动
4.使用firewall或iptables开发80端口,这样就可以使用http://ip地址 访问,看到如下这个界面就说明Nginx服务开启成功!

5.配置转发规则:
修改配置,监听5000端口:路径为:/etc/nginx/nginx.conf,修改如下:
location/{
# 传递真实IP到后端
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:5000;
}

三、使用Supervisor守护进程
参考链接:http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
3.1安装Supervisor :
yum install python-setuptools easy_install supervisor mkdir /ect/supervisor #创建目录 echo_supervisord_conf > /etc/supervisor/supervisord.conf #配置文件
3.2配置Supervisor:
在/etc/supervisor/confg.d/(如果没有,就创建目录)下新建个名字为CManage.conf(名字xxx.conf就行)配置,
内容如下:
[program:CManage]
command=dotnet CManage.dll #要执行的命令
directory=/home/wwwroot #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=www-data #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs= #自动重启间隔
stderr_logfile=/var/log/CManage.err.log #标准错误日志
stdout_logfile=/var/log/CManage.out.log #标准输出日志
3.3配置完了之后,需要修改/etc/supervisor/supervisord.conf文件:
最底部的[include]修改为:
[include]
files = /etc/supervisor/conf.d/*.conf
然后需要把supervisord重新加载:
supervisord -c /etc/supervisor/supervisord.conf
3.4打开服务:
ps -ef | grep CManage

3.5Supervisor 的常用命令:
supervisorctl shutdown #关闭所有任务 supervisorctl stop|start program_name 开启或者停止任务 supervisorctl status #查看所有任务状态
3.6这时候Supervisor相关配置完了,设置开机启动,这样就不用每次重启服务器还需要启用守护进程了。
在/usr/lib/systemd/system/目录新建个supervisord.service文件,内容如下:
# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[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 enable supervisord 设置为开机启动

四、Supervisor UI 管理台
Supervisor 默认给我们提供了一个图形界面来供我们管理进程和任务,我们可以修改配置文件/etc/supervisor/supervisord.conf,添加inet_http_server 节点:

然后就可以通过界面来查看运行的进程了:

Linux学习之十--.Net Core环境搭建以及Nginx的搭建的更多相关文章
- 学习笔记:CentOS7学习之十五: RAID磁盘阵列的原理与搭建
目录 学习笔记:CentOS7学习之十五: RAID磁盘阵列的原理与搭建 14.1 RAID概念 14.1.1 RAID几种常见的类型 14.1.2 RAID-0工作原理 14.1.3 RAID-1工 ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...
- Linux学习--第十天--bash脚本、用户自定义变量、环境变量、位置参数变量、预定义变量、标准输入输出、wc、history、dd、PS1
shell简介 分为两种c shell 和b shell b shell:sh.ksh.Bash.psh.zsh: (Bash和sh兼容,linux基本shell是Bash) c shell:csh. ...
- Linux学习之十五、基础正规表示法\延伸正规表示法
原文地址: http://vbird.dic.ksu.edu.tw/linux_basic/0330regularex_2.php 基础正规表示法 既然正规表示法是处理字串的一种表示方式,那么对字节排 ...
- linux学习(十)Shell中的控制语句
目录 1. 条件测试语句 1.1 test语句 1.2[]语句 1.3文件测试 1.4字符串测试 1.5数值测试 1.5逻辑操作符 @(Shell中的控制语句) 1. 条件测试语句 测试语句十Shel ...
- linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传
一.和find相关的几个搜索命令,了解即可. 1.1 which [root@iZ25lzba47vZ ~]# which ls alias ls='ls --color=auto' /usr/bin ...
- linux学习第十九天 (Linux就该这么学) 结课了
今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux +nginx+mysql+php) 安装文件挺别多, ...
- Linux学习5-CentOS安装Python3.6环境和pip3
前言 centos7 自带有 python,但是却是 python2 版本的 python,如果你想安装个python3怎么办呢? 如果直接删除python2的话,可能会引起其他的问题,因为有些东西是 ...
随机推荐
- 第9章 Shell基础(2)_Bash基本功能
3. Bash的基本功能 3.1 历史命令与命令补全 (1)历史命令:#history [选项] [历史命令保存文件] ①选项:-c:清空历史命令: -w:把缓存中的历史命令写入文件~/.bash_h ...
- [No0000AE]在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...
- CentOS 7.0系统安装配置步骤详解
CentOS 7.0系统是一个很新的版本哦,很多朋友都不知道CentOS 7.0系统是怎么去安装配置的哦,因为centos7.0与以前版本是有很大的改进哦. 说明: 截止目前CentOS 7.x最新版 ...
- PAT 1047. 编程团体赛(20)
编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...
- UploadHandleServlet
public class UploadHandleServlet extends HttpServlet { public void doGet(HttpServletRequest request, ...
- [开源].NET数据库访问框架Chloe.ORM
扯淡 13年毕业之际,进入第一家公司实习,接触了 EntityFramework,当时就觉得这东西太牛了,访问数据库都可以做得这么轻松.优雅!毕竟那时还年轻,没见过世面.工作之前为了拿个实习机会混个工 ...
- 抱歉!15:44-16:39阿里云RDS故障造成全站不能正常访问
非常非常抱歉!2016年3月7日15:44-16:39,由于阿里云RDS(云数据库)故障,造成全站不能正常访问,给您带来了很大很大的麻烦,恳请您的谅解! 故障是在15:44开始出现的,应用日志中出现大 ...
- functools模块
from functools import wraps def logged(func): @wraps(func) def with_logging(*args, **kwargs) ...
- 华为5G空口新技术(2015年)
2015-03-24 长江后浪推前浪,4G建设方兴未艾,业界关于5G的讨论已如火如荼.对于每一代移动通信,空口技术都相当于王冠上的明珠. 在月初的世界移动通信大会上,华为发布了面向5G的新空口,并展出 ...
- 因为多余jar包,所报的错
今天,将项目部署到服务器时,出现了上述的错误.于是就开始找度娘了,找啊找,将项目里面的东西翻来覆去的改,不见效果,还多了些莫名其妙的错,当时就懵逼了.在百度上找到的方法都是说有jar包重复,项目里面的 ...