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)应用程序启动.停 ...
随机推荐
- QEMU使用virtio磁盘
环境 宿主环境:windows 10 pro QEMU版本:3.1 客户机:windows2003 virtio是一种半虚拟化技术,window2003安装盘不带驱动程序,所以首先采用IDE方式安装w ...
- Arcgis api for javascript学习笔记(4.5版本) - 点击多边形(Polygon)并高亮显示
在现在的 arcgis_js_v45_api 版本中并没有直接提供点击Polygon对象高亮显示.需要实现如下几个步骤: 1.点击地图时,获取Polygon的Graphic对象: 2.对获取到的Gra ...
- Java SE学问Random
这篇文章是在网络上的文章内容摘要学习以及自己的小练习,感谢您的无私分享. 昨天在项目中想使用几个随机数.结果使用Random时竟然出现随机数同样的情况.忍不住查了些资料. 现将代码总结例如以下: pa ...
- ASP.NET中进度条的简单应用
<html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow"> <head> & ...
- OpenCL编译环境配置(VS+Nvidia)
英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤: VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...
- virtualbox下ubuntu共享文件夹自动挂载
1.若想删除挂载,可执行命令 umount -f /mnt/share 2.若想开机自动挂载,可以在 /etc/fstab 文件末添加一项 sharing /mnt/share vboxsf ...
- DDD实战11 在项目中使用JWT的token 进行授权验证
步骤: 1.首先要在webapi的管道中 使用认证(Authentication) 2.要在webapi的服务中注册验证条件 代码如下: namespace Dealer.WebApi { publi ...
- EM 12c: OMS Failed to start After restarting the Repository Database or reboot of the server
原文地址:http://blog.csdn.net/wanghui5767260/article/details/39398449 更全面,更专业 EM 12c: OMS Failed to star ...
- HPC —— 高性能计算
CUDA,目前只有 NVIDIA 支持: OpenCL,CUDA Tesla 卡很贵: 1. 术语及概念 SMP:"对称多处理"(Symmetrical Multi-Process ...
- Editplus配置Python的开发环境
Python 有很多集成开发工具,商业的有komodo,Wingide,Boa 等,还有Python 自带的集成环境IDLE,Windows 下还有PythonWin 等.但是,这些工具有的是过于复杂 ...