CentOS 下部署 ASP.NET Core环境
一、安装dotnet
1.下载运行环境
https://www.microsoft.com/net/download/linux
下载Runtime:https://go.microsoft.com/fwlink/?LinkID=825888
- 安装dotnet Runtime
>yum install libunwind libicu
> mkdir -p /opt/dotnet && tar zxf dotnet.tar.gz -C /opt/dotnet
> ln -s /opt/dotnet/dotnet /usr/local/bin
安装步骤:https://www.microsoft.com/net/core#linuxcentos
安装成功,此时执行dotnet 命令即可验证。
- 上传完整文件至指定目录:
/root/data/wwwroot/testweb/
并解压文件。
- 启动站点
dotnet testweb.dll
注:这里只是测试启动,线上环境需要配置服务进程启动,后文介绍。
二 安装Nginx
1.安装nginx
下载nginx: http://nginx.org/download/nginx-1.8.0.tar.gz
安装参考:http://blog.csdn.net/yuanchao99/article/details/46357173
2.编译nginx:
>./configure --prefix=/usr/local/nginx --with-http_sub_module --http-log-path=/usr/local/nginx/logs/access.log --error-log-path=/usr/local/nginx/logs/error.log --pid-path=/usr/local/nginx/pid/nginx.pid --lock-path=/usr/local/nginx/lock/nginx.lock --with-http_ssl_module
>make && make check && make install
3.启动nginx
>nginx
4.配置nginx
>cd /usr/local/nginx/conf
>vi nginx.conf
添加如下配置内容:
server {
listen 80;
server_name www.aspdotnet.com;#站点请求域名
#charset koi8-r;
access_log logs/testweb.access.log;#日志保存路径
location / {
root /root/data/wwwroot/testweb;#站点部署目录
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;
}
5.保存并退出配置。
6.重新加载nginx 配置:
>nginx –s reload
三、安装supervisor守护进程
1.
>yum install supervisor
安装步骤参考:
2配置
>mkdir /etc/supervisor
>echo_supervisord_conf > /etc/supervisor/supervisord.conf
3. 修改supervisord.conf文件
将文件尾部的配置,修改为:
[include]
files = conf.d/*.conf
4. 创建配置文件
> vi /etc/supervisor/conf.d/testweb.conf
编辑如下内容:
[program:testweb]
command=/usr/local/bin/dotnet /root/data/wwwroot/testweb/testweb.dll
directory=/root/data/wwwroot/testweb/
autostart=true
autorestart=true
stderr_logfile=/root/data/wwwroot/logs/testweb.err.log
stdout_logfile=/root/data/wwwroot/logs/testweb.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
5. 启动站点
supervisord -c /etc/supervisor/supervisord.conf
注:每次修改配置后要执行supervisorctl reload 重新加载更新配置。
不过执行命令是要定位到目录/etc/supervisor 下再执行服务命令。
supervisor 命令:
Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:
supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:blogdemon]里配置的值,这个示例就是blogdemon。
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。
参考:http://blog.haohtml.com/archives/15145
6.查看服务进程是否正常启动
ps -ef | grep testweb
OK! 到这里站点已经启动运行了。
CentOS 下部署 ASP.NET Core环境的更多相关文章
- CentOS 7 部署 ASP.NET Core 应用程序
原文:CentOS 7 部署 ASP.NET Core 应用程序 看了几篇大牛写的关于 Linux 部署 ASP.NET Core 程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Ubuntu 下部署asp.net运行环境
在Ubuntu下部署asp.net运行环境,网上教程很多,基本都是编译Mono源码,然后安装jexus.但是可能是我最近RP不太好,编译Mono源码一直都是失败,无奈之下只好找另外的方法安装了. 网上 ...
- linux 环境下部署 Asp.Net Core 项目 访问 oralce 数据库
1.ASP.NET Core 是一个跨平台的高性能开源框架,可以部署到Linux上,那项目部署在Linux上有哪些好处呢? 1.linux硬件需求小,大部分版本免费,成本低. 2.linux的用户管理 ...
- CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
- 【转载】CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
- 【转】CentOS 7部署ASP.NET Core应用程序
很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...
- 【详细】【转】CentOS 7部署ASP.NET Core应用程序
很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备 网上看了一下,Linux云服务器还挺贵的,那就只好先 ...
- Centos环境下搭建Asp.NET Core环境和安装Jexus
.NET Core2.0出来以后,很多公司开始用于实践生产,其中的原因想必大家都明白,最主要的一下几点. 跨平台,能够部署在Linux和Docker容器中 性能优越,测试时Node的20倍左右 ...
随机推荐
- C++虚函数浅探
C++中和虚函数(Virtual Function)密切相关的概念是"动态绑定"(Dynamic Binding),与之相对的概念是"静态绑定"(Static ...
- stdlib.h stdio.h
stdlib.h 即standard library标准库头文件.stdlib.h里面定义了五种类型.一些宏和通用工具函数. 类型例如size_t.wchar_t.div_t.ldiv_t和lldiv ...
- vux 获取后台数据
1. 首先,导入api 的组件 import api from '../vuex/action' 2.定义数据获取方法 created () { this.fetchData() }, 3.设置方法内 ...
- kali2.0中dradis的使用方法
启动脚本位于:/usr/lib/dradis下,再该目录下有一个start.sh文件,执行后,可以在浏览器中输入https://localhost:3004即可打开dradis的web接口 切记前面h ...
- .NET LINQ 数据分区
数据分区 LINQ 中的分区指的是在不重新排列元素的情况下,将输入序列划分为两部分,然后返回其中一个部分的操作. 下图显示对一个字符序列执行三个不同的分区操作的结果. 第一个操作返 ...
- AngularJS 表单
AngularJS 表单是输入控件的集合. HTML控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 textarea 元素 H ...
- MXNet设计和实现简介
原文:https://github.com/dmlc/mxnet/issues/797 神经网络本质上是一种语言,我们通过它来表达对应用问题的理解.例如我们用卷积层来表达空间相关性,RNN来表达时间连 ...
- JS将指定的时间戳转为UTC时间
Js中获取时间戳可用var dayMiliseconds = parseInt(new Date().valueOf());Js的时间戳单位为毫秒(1s = 1000 ms),下面是一个将制定的格式转 ...
- freemarker内置函数和用法
原文链接:http://www.iteye.com/topic/908500 在我们应用Freemarker 过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker 有没有类似于Jav ...
- PPM格式解析
PPM格式其实就是RGB数据加上一个简单的文件头, 文件头部表示了图像的宽度和高度以及最大的RGB值. 文件头+rgb数据: P6\n width height\n 255\n rgbrgb... 其 ...