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)应用程序启动.停 ...
随机推荐
- java生成二维码,读取(解析)二维码图片
二维码分为好多种,我们最常用的是qrcode类型的二维码,以下有三种生成方式以及解析方式: 附所需jar包或者js地址 第一种:依赖qrcode.jar import java.awt.Color; ...
- js一些编写的函数
第一:它是最常见的 function A(){ } 说明 A(); 第二: var B = function(){ } 方法 B();//这是匿名函数 第三: (function () { ...
- TensorFlow 学习(五)—— Session
A Session object encapsulates the environment in which Tensor objects are evaluated. 一个会话对象(session ...
- IWXAPI的使用,发布分享和支付
今天看代码,看到以前项目的微信支付功能,想做一下记录 首先是在application类里面定义 public static IWXAPI MSGAPI; public static final Str ...
- Android开发者的演示工具——asm.jar
作为Android开发者,我们有时候需要给客户或者其他人演示我们的Android作品.我们可以使用类似豌豆荚.360手机助手这样的软件,今天我来介绍一个Android开发者的演示工具--asm.jar ...
- 打开一个很好的介绍Lucene4 FST文章
我没有看到源代码.看到这个博客了解一些基本的,像笔者下: http://download.csdn.net/download/guanxinquan/7380591 http://blog.sina. ...
- SWFTools PDF转换为SWF
前言 在iText 制作PDF这篇博文中只是简单的介绍了如何制作PDF,为了能让PDF在Web页面中显示,我还需要通过SWFTools工具将PDF文件转换为SWF文件,然后通过SWF文件显示在Web网 ...
- sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT
1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11 (格式:sqlplus username/password) 退出eg:quit退出 超级 ...
- QComboBox实现复选功能(三种方法:嵌套QListWidget, 设置QStandardItemModel, 设置Delegate)
今天介绍一下一个小东西 — 如何让QComboBox实现复选功能? 需求: 下拉列表有复选功能 不可编辑 显示所有选中项 关于QComboBox的复选功能有几种方案: QStandardIte ...
- beego中各类数据库连接方式
beego 框架是优秀得go REST API开发框架.下面针对beego中各类数据库连接操作做一个总结. 1. orm连接方式 beego中的orm操作支持三种数据库:mysql,sqlite3,p ...