ASP.NET Core Linux 发布
这篇博客参考了以下文章:
1、http://www.cnblogs.com/ants/p/5732337.html
2、http://www.linuxidc.com/Linux/2016-11/137010.htm
大体类似,只是在发布期间遇到一些问题,做了一些记录。可能其他人遇到的问题都不尽相同,可以参考其他两篇文章。
配置:
- 服务器:centos7(hyper虚拟机)
- 相关工具:WinSCP(ftp工具),PuTTY
- 开发工具:vs2017
- 相关软件:nginx、supervisor
概述:
请注意博客发布的时间,现在是asp.net core 的1.0版本,在linux 上,微软官方推荐nginx 做web服务器,监听80端口,然后转发到asp.net core站点上,asp.net core 站点用supervisor 守护。
准备:
vs2017 新建一个空的asp.net core 项目,然后以文件系统方式发布项目,确认本地运行一切正常。
第一步: 安装centos,.NET Core SDK
- 安装centos
- 安装.NET Core SDK
- 首先安装依赖 输入命令
sudo yum install libunwind libicu

下载sdk 地址:https://www.microsoft.com/net/download/linux 选择centos7.1的,下载完成后通过winscp 上传到 centos上(注意上传的位置)
- 注意下载后的文件名称以及上传的目录地址。
- 创建文件夹:
sudo mkdir -p /opt/dotnet
解压缩:
sudo tar zxf dotnet.tar.gz -C /opt/dotnet
创建连接:
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
输入:
dotnet --info

- 首先安装依赖 输入命令
到此SDK就安装成功了!!
第二步:上传ASP.NET Core
- 用winscp将文件 上传到/home/yin/wwwroot/
- 在wwwroot文件夹下 执行:
dotnet demoweb.dll
注意吧程序集名称换成自己本地的程序集名称

第三步:配置nginx
- 采用源码安装方式安装Nginx
- 下载地址:https://nginx.org/download/nginx-1.12.0.tar.gz 注意下载的时候选择对应的版本号
- 执行以下命令
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure
make
sudo make install注意如果./configure 失败,大多是没有安装编译工具,执行:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
将nginx执行路径加到path环境变量上,避免每次启动nginx 都需要在nginx目录下
vi ~/.bashrc
添加
export PATH="/usr/local/nginx/sbin:$PATH"

然后输入以下命令来应用:
source ~/.bashrc
修改nginx配置文件:
vi /usr/local/nginx/conf/nginx.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;
}
}重启nginx:
nginx -s reload
开放端口号(管理员操作):
firewall-cmd --zone=public --add-port=/tcp --permanent
systemctl restart firewalld执行:
dotnet /home/yin/wwwroot/demoweb.dll
到这里就可以访问了^.^
第四步:安装supervisor
我们需要监听asp.net core站点的运行情况,如果发生异常需要自动重启,为了解决这个问题我们需要安装supervisor。
- 下载源码,下载地址:https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
- 上传到服务器,执行命令:
tar zxvf supervisor-3.3..tar.gz
cd supervisor-3.3.
sudo python setup.py install - 安装过程中可能会提示:meld3>=0.6.5的错误
- 解决办法:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/p/python-meld3-0.6.10-1.el7.x86_64.rpm
sudo rpm -ivh python-meld3-0.6.-.el7.x86_64.rpm配置supervisor:
mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改supervisord.conf:
vi /etc/supervisor/supervisord.conf
增加如下内容:
[include]
files = conf.d/*.conf创建配置文件demoweb.conf:
mkdir conf.d
vi demoweb.conf增加如下内容:
[program:demoweb]
command=dotnet demoweb.dll
directory=/home/yin/wwwroot/
autorestart=true
stderr_logfile=/var/log/demoweb.err.log
stdout_logfile=/var/log/demoweb.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT运行supervisor:
supervisord -c /etc/supervisor/supervisord.conf
到此大公告成!!访问地址
ASP.NET Core Linux 发布的更多相关文章
- ASP.NET CORE Linux发布工具(文件对比 只上传差异文件;自动启停WebServer命令;上传完成自动预热WebServer)
最近这几日在搞一个小网站:教你啊 :(感兴趣的朋友可以来捧场,在这个网站上有任何消费我都可以退还) 由于更新频繁,手动更新特别麻烦,于是开发了这个小工具 用了一段时间,还是挺顺手的,同时.NET Co ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- Asp.net Core 打包发布 (Linux+Nginx)
如果你觉得如下这些文章对你有帮助,请点击链接支持作者原创 http://www.cnblogs.com/savorboard/ .Net Core SDK 命令介绍 前言 本篇主要介绍 asp.n ...
- 将asp.net core站点发布到IIS上遇到的问题
今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出 ...
- ASP.NET Core IIS发布
ASP.NET Core应用发布到IIS 官网教程地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?vi ...
- Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core
第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用. 官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutori ...
- ASP.NET Core 网站发布到Linux服务器
长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...
- ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
前言 前阶段弄了个Linux系统想倒腾倒腾.NET Core,结果看了下网上的资料,大部分都是过期的,走了不少弯路,不过还好,今下午总算捣鼓出来了.Linux命令太多了,唉.血的教训:安装一定要看官网 ...
- ASP.NET Core "完整发布,自带运行时" 到jexus
一.阅读前须知 1.使用 jexus整合asp.net core的优点: 1)支持多站点,同一端口可以同时支持任何多的asp.net core应用程序: 2)应用程序启动.停 ...
随机推荐
- 【BZOJ 1011】[HNOI2008]遥远的行星
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1011 [题意] [题解] 这里的答案误差不超过5%是突破点; 如果是直接暴力写; 复杂 ...
- 在JS中var、let和const的区别
var有变量提升 x = 4; // 变量 x 设置为 4 console.log(x) //输出 4 var x; // 声明 x 上面代码相当于下面的 var x; // 声明 xx = 4; ...
- gradle命令学习
概述 命令学习比较枯燥,全部是例子~ gradle版本 假设你的本地gradle已经安装配置完成.没有安装配置的,可以参考 gradle安装 C:\Users\yueling.DANGDANG> ...
- 画廊视图(Gallery)的功能和用法
Gallery与Spinner组件有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.它们之间的区别在于Spinner显示的是一个垂直的列表选择框吗,而Gallery ...
- MFC和Qt优缺点 (MFC几乎没有优点、全面下风)
在网上看到的,拿来和大家一起讨论下. 我曾经使用过来开发过软件,我想和大家分享我使用他们时所体会的不同之处. 我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰.但是,我在这里 ...
- Android官方教程翻译(4)——启动另一个Activity
Starting Another Activity 启动另一个Activity PREVIOUSNEXT THIS LESSON TEACHES YOU TO 这节课教你 1. Respond t ...
- Adaptive device-initiated polling
A method includes periodically sending a polling call to an enterprise system outside the firewall a ...
- 【HLSL学习笔记】WPF Shader Effect Library算法解读之[BandedSwirl]
原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[BandedSwirl] 因工作原因,需要在Silverlight中使用Pixel Shader技术,这对于我来 ...
- Ant—使用Ant构建一个简单的Java工程(两)
博客<Ant-使用Ant构建一个简单的Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant: 上面样例须要运行多条ant命令才干运行Test类中的 ...
- hdoj 5087 Revenge of LIS II 【第二长单调递增子】
称号:hdoj 5087 Revenge of LIS II 题意:非常easy,给你一个序列,让你求第二长单调递增子序列. 分析:事实上非常easy.不知道比赛的时候为什么那么多了判掉了. 我们用O ...