ASP.Net Core 运行在Linux(Ubuntu)
这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程。
Linux Disibutaion:Ubuntu 14.04
Web Server:nginx、Kestrel
1、安装.net core
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 sudo apt-get update sudo apt-get install dotnet-dev-1.0.0-preview2.1-003177
2、安装.net core成功之后,新建asp.net core mvc项目
#新建文件夹hwapp
mkdir hwapp #进入hwapp文件夹
cd hwapp #新建asp.net core mvc项目
dotnet new -t web #还原.net core nuget包
dotnet restore
3、到这一步还无法发布项目,我们需要安装npm,gulp,bower这三个工具
#安装npm
sudo apt-get install npm #安装gulp
sudo npm install gulp -g #安装bower
sudo npm install bower -g
4、完成之后,就可以对项目进行发布了
#发布项目,默认发布路径在当前项目下bin/Debug/netcoreapp1.1/publish/
dotnet publish
5、下面我们就要安装nginx做反向代理
#安装nginx
sudo apt-get install nginx
#启动nginx
sudo service nginx start
因为要使用nginx做asp.net core网站的反向代理,我们需要修改nginx的默认配置文件/etc/nginx/sites-available/default ,将以下内容替换默认配置:
server {
listen 80;
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配置是否zhengque
sudo nginx -t
#重新加载nginx配置
sudo nginx -s reload
6、安装supervisor
我们部署的网站并不会自己启动并运行,这里我们就需要用到supervisor这个工具,保证网站的启动和持续运行。
#安装supervisor
sudo apt-get install supervisor
配置supervisor,进入目录(/etc/supervisor/conf.d/),新建配置文件hwapp.conf,将如下内容复制到文件中
[program:hwapp]
command=/usr/bin/dotnet /var/hwapp/publish/hwapp.dll --server.urls:http://*:5000
directory=/var/hwapp/publish
autostart=true
autorestart=true
stderr_logfile=/var/log/hwapp.err.log
stdout_logfile=/var/log/hwapp.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=www-data
stopsignal=INT
关闭并启动supervisor
sudo service supervisor stop
sudo service supervisor start
到此,整个部署流程完成了!
下图在我部署在linux中的asp.net core网站的访问页面:

ASP.Net Core 运行在Linux(Ubuntu)的更多相关文章
- ASP.Net Core 运行在Linux(CentOS)
Linux Disibutaion:CentOS 7.1 Web Server:Apache.Kestrel 1.安装.net core sudo yum install libunwind libi ...
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...
- 在Linux安装ASP.NET Core运行时环境
我使用的是Centos7 ,其它的Linux请参考微软文档 微软官方介绍文档: https://www.microsoft.com/n ...
- ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...
- ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
一.前言 最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...
- Asp.Net Core部署到Linux服务器
从2016年7月, .NET Core1.0 正式发布开始,由于时间问题,我没怎么关注过.NET Core,最近刚抽出点时间研究了下,先讲下如何把ASP.NET Core部署到Linux上吧.这里我用 ...
- Install .NET Core Runtime on Linux Ubuntu 16.04 x64
原文链接https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-current nstall ...
- ASP.NET Core MVC 在linux上的创建及发布
前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...
- ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Constructor(构造函数) 2.Configure ...
随机推荐
- 深度学习-使用cuda加速卷积神经网络-手写数字识别准确率99.7%
源码和运行结果 cuda:https://github.com/zhxfl/CUDA-CNN C语言版本参考自:http://eric-yuan.me/ 针对著名手写数字识别的库mnist,准确率是9 ...
- yum 安装 PHP,apache,nginx,mysql
如果是Centos OS 64 位,首先更新 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarc ...
- POJ 3678--Katu Puzzle(2-SAT)
感觉这题比较裸,表现出了2-sat的本质. 不过构图我想的还是太简单了,a&b=1我只连了 a1->b1,b1->a1,但其实是不对的.这样连,a0和b0可以同时选到.应该连a0- ...
- Apache Hadoop压缩包与Eclipse结合,导入jar包归整总结(手动)
************************* 有些,是没必要全导入的.以后到工作了,用Maven,就自动会导入其中一些.************************ 一般,工作中,用的更多 ...
- 很好用的mybatis分页解决方案
分页如果写在SQL脚本中,将会大大影响我们后续数据库的迁移难度.mybatis的分页一般是自己实现一个mybatis的拦截器,然后根据某些特定的条件开启分页,对原有SQL进行改造. 正在我对mybat ...
- DOS/Windows下黑客攻防(一)——神秘黑客大曝光
一.认识神秘的黑客 谈到网络安全,人们不自觉间就会联想到黑客,人们往往会将他们同破坏网络安全.盗取用户账号.偷窃个人私密信息联系起来.其实黑客也有好坏之分,他们并不全是网络上的捣乱分子,其中也有一部分 ...
- C++ vector的用法
其实我是一个比较懒惰的人 我最喜欢的循环方式是for(int i=0;i<length;i++) 同样也可以 for (unsigned i=0; i<sz; i++) myvector[ ...
- Mac OS X 10.10优胜美地怎样完美接管iphone上的电话和短信
自从今年苹果第一次的公布会上毛猫就特别注意这个功能.感觉特别Cool,特别方便.但直到今天毛猫才第一次成功測试出这个功能呀.尽管handoff功能还未測出来,可是认为在mac上发短信和打电话也已经足够 ...
- ArrowDrawable
https://github.com/wly2014/ArrowDrawable https://github.com/ChrisRenke/DrawerArrowDrawable
- [Node.js] Using npm link to use node modules that are "in progress"
It is some times convenient, even necessary, to make use of a module that you are working on before ...