ASP.Net Core 运行在Linux(CentOS)
Linux Disibutaion:CentOS 7.1
Web Server:Apache、Kestrel
1、安装.net core
sudo yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
2、新建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
wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.xz
xz -d node-v6.9.1-linux-x64.tar.xz
#安装npm
sudo tar --strip-components 1 -xvf node-v* -C /usr/local
#安装gulp
sudo npm install gulp -g
#安装bower
sudo npm install bower -g
4、发布项目
cd /home/$1/hwapp
#发布项目
dotnet publish -c Release
5、安装并配置Apache
#更新
sudo yum update -y
#安装apache
sudo yum -y install httpd mod_ssl
进入/etc/httpd/conf.d目录,添加hwapp.conf文件,并将如下内容写入文件中
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
ErrorLog /var/log/httpd/hwapp-error.log
CustomLog /var/log/httpd/hwapp-access.log common
</VirtualHost>
检查配置文件是否正确,如果看到"Syntax [OK]"则说明配置正确
sudo service httpd configtest
重启Apache
sudo systemctl restart httpd
sudo systemctl enable httpd
按理来说,到这一步应该已经可以访问我们部署的网站了,但是在CentOS下有一个细节需要注意:SELinux的安全策略导致网站无法访问。
#查看selinux状态 # SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
getenforce
#这里我们需要把SELinux的值修改为disabled
vi /etc/selinux/config
修改完SELinux,重启虚机
6、安装Supervisor
yum install python-setuptools
easy_install supervisor
配置Supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
#指定配置文件
supervisord -c /etc/supervisor/supervisord.conf
指定守护的程序配置
vi /etc/supervisor/supervisord.conf
在supervisord.conf最后加入
[include]
files=conf.d/*.conf
进入目录/usr/lib/systemd/system/,新建一个“supervisord.service”文件
# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon [Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
执行命令
systemctl enable supervisord
systemctl start supervisord
配置守护进程,进入目录/etc/supervisor/conf.d/,新建文件“hwapp.conf”
[program:hwapp]
command=/usr/local/bin/dotnet /var/hwapp/hwapp.dll --server.urls:http://*:5000
directory=/var/hwapp/
autostart=true
autorestart=true
stderr_logfile=/var/log/hwapp.err.log
stdout_logfile=/var/log/hwapp.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=azureuser
stopsignal=INT
重新加载配置
sudo supervisorctl reload
sudo supervisord
sudo supervisorctl
查看是否被守护进程拉起
ps -ef|grep dotnet
部署成功

ASP.Net Core 运行在Linux(CentOS)的更多相关文章
- ASP.Net Core 运行在Linux(Ubuntu)
这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程. Linux Disibutaion:Ubuntu 14.04 Web Server:nginx. ...
- 在Linux安装ASP.NET Core运行时环境
我使用的是Centos7 ,其它的Linux请参考微软文档 微软官方介绍文档: https://www.microsoft.com/n ...
- ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
一.前言 最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...
- .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)
在.NET Core部署到linux(CentOS)最全解决方案,常规篇一文,我们详细讲解了传统的.NET Core部署到Linux服务器的方法,学到了Linux在虚拟机下的安装.Xshell,Xft ...
- .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)
在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...
- ASP.NET Core MVC 在linux上的创建及发布
前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...
- ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...
- Install .NET Core SDK on Linux CentOS / Oracle x64 | .NET
原文:Install .NET Core SDK on Linux CentOS / Oracle x64 | .NET Linux发行版 CentOS / Oracle添加dotnet产品Feed ...
随机推荐
- HDU3966-Aragorn's Story(树链剖分)
第一道树链剖分. 早就想学..一直懒.. 感觉还是比较简单的. 主要是要套其他数据结构,线段树大概还好,平衡树之类的肯定就跪了. http://blog.csdn.net/acdreamers/art ...
- 第十一章、认识与学习 BASH 管线命令 (pipe)
管线命令使用『 | 』界定符号 [root@www ~]# ls -al /etc | less 管线命令『 | 』仅能处理经由前面一个命令传来的正确信息,也就是 standard output 的信 ...
- vs2015中升级Nuget后,找不到Umbraco安装包问题
打开VS2015, Tools=>Extensions and Updates=> Updates => Visual Studio Gallery 在这里check一下是否有N ...
- 【Away3D代码解读】(三):渲染核心流程(渲染)
还是老样子,我们还是需要先简略的看一下View3D中render方法的渲染代码,已添加注释: //如果使用了 Filter3D 的话会判断是否需要渲染深度图, 如果需要的话会在实际渲染之前先渲染深度图 ...
- android widget的中文文档
下文是我翻译于 App Widgets的文章,如果有不当之处请大家指出 app widget是一种嵌入在其他应用(例如主屏幕)和并且能偶接受间接性更新的小应用,你可以自己提供app widget pr ...
- ObjC语法练习 冒泡排序、选择排序、矩阵相乘
用OC实现的冒泡排序.选择排序.矩阵相乘,纯粹是用来练习语法. 冒泡排序,程序如下: void bubbleSort() { //初始化数组 NSMutableArray *array1 = [[NS ...
- 邮件Mail
邮件开发准备: 准备工作, 环境搭建: 1. 本地搭建一个邮件服务器 -à 易邮服务器,eyoumailserversetup.exe 2. 新建邮箱账号 张三给李四发邮件. 步骤1: 新建域名: 工 ...
- linux集群时间同步
说明:由于hadoop集群对时间要求很高,所以集群内主机要经常同步.本文档适合ubuntu.redhat系列. 注:很多内容是在网上摘录,然后试验后总结,如有疑问可留言探讨. 1.设置主机时间准确(任 ...
- Lync边缘服务器配置
以下步骤均使用Lync管理员权限即可完成 1.在前端下载并编辑拓扑,新建边缘池 如果边缘池中只有一台服务器,则池名称与服务器名称相同,如下: 如果需要删除边缘池,则需要先取消关联,如下: 2.发布拓扑 ...
- Jfinal极速开发微信系列教程(一)--------------Jfinal_weixin demo的使用分析
概述: Jfinal_weixin已经出了有好一段时间了!一直在关注当中......最近工作上有需要到这个东西,所以,话了两个小时来看看这个东西,看完demo以后,豁然开朗,原理微信和一般的web项目 ...