centos 7 部署 dotnetcore+Angular2 实践
1.准备
服务器: 腾讯云主机(Centos 7.1)
http://www.qcloud.com/
项目:aspnetcore+angular2开源项目模版
https://www.npmjs.com/package/generator-aspnetcore-angular2
该项目使用webpack 打包Angular2, 内网涉及到npm请使用tnpm
2.环境安装
(1)安装dotnetcore
https://www.microsoft.com/net/core#linuxcentos
根据官方指导进行安装;
官网给出的安装引导是安装dotnet core 1.1 ,但是我们项目使用的dotnetcore 1.0.1
所以必须再安装1.0.1 (备注dotnet core 可以多个版本并存)
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529tar zxf dotnet.tar.gz -C /opt/dotnet
(下载的地址不一样)
(2)禁用防火墙
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动
由于是学习项目,可以先关闭防火墙, 生成环境请配置防火墙iptable
(3)安装Nginx
yum install nginxsystemctl start nginx
使用命令行测试 curl http://127.0.0.1 能访问到html内容则正常
3.项目构建
(1)构建项目
在windows环境 构建 指引 参考 https://www.npmjs.com/package/generator-aspnetcore-angular2
npm如果访问问题可以使用tnpm (http://tnpm.oa.com/)
npm install -g yonpm install -g generator-aspnetcore-angular2
创建项目
选择高级模版
取消npm 安装 使用 tnpm
编译项目
编译dotnet ,编译angular2
dotnet 程序集restore,webpack 打包Angular2 ,本地运行项目
有兴趣的同学可以多了解快命令具体做了啥
本地访问
http://localhost:3000/
4.部署项目
(1)执行发布脚本
dotnet publish
该命令会执行project.json 的构建命令
"scripts": {
"prepublish": [ "npm install", "npm run rebuild-sass", "npm run build" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
(2)压缩生成文件
目录:
\test\src\test\bin\Debug\netcoreapp1.0\publish
压缩成zip ,稍后上传到linux进行部署
(3)上传项目
使用ftp工具上传只centos (我使用的xshell+xftp)
解压文件: unzip test.zip
(4)启动项目
set ASPNETCORE_ENVIRONMENT=Developmentdotnet test.dll server.urls=http://127.0.0.1:3000/
(备注 此处没有使用localhost ,是因为ip6 下bind错误 )
已经监听了
(5)测试
发现上面虽然打开了我们的页面其实是爆了一个错误
需要修改 Views\Home\Index.cshtml 文件
<app-root asp-prerender-module="wwwroot/src/server" asp-prerender-webpack-config="webpack.config.js">Loading...</app-root>
去掉如下代码
asp-prerender-module="wwwroot/src/server" asp-prerender-webpack-config="webpack.config.js"
curl 测试html正常
(6)配置代理
3000端口不适合暴露外网, 配置Nginx 反向代理
vim /etc/nginx/nginx.conf
添加 cgi
proxy_pass http://127.0.0.1:3000; 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; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
检查nginx配置
重启nginx
/usr/sbin/nginx -t
service nginx restart#获取使用reloadnginx -s reload
(7)查看成果
使用外网ip访问站点, 直接访问80端口就好了
5.其他
该项目目前只是用于学习dotnetcore ,Angular2 , 顺便熟悉一下 npm,webpack,linux ;
原文地址: https://www.qcloud.com/community/article/239
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
赞赏
人赞赏
centos 7 部署 dotnetcore+Angular2 实践相关推荐
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 ...
- centos 安装jdk_新Jenkins实践-第2章 JENKINS SERVER的安装部署方式
本章阐述Jenkins Server的安装部署方式.基于Tomcat.CentOS.MacOS.Docker.Kubernetes.Windows部署. 部署后的基础配置. 1.1 安装依赖 Jenk ...
- Docker 部署dotnetcore
安装docker 系统还是之前centos 7.1 https://www.docker.com/products/docker#/linux yum update 创建源: /etc/yum.rep ...
- 阿里云linux centos 一键部署web环境--图文详解
阿里云linux centos 一键部署web环境--图文详解 标签: linux阿里云一键部署 2017-04-15 12:28 386人阅读 评论(0) 收藏 举报 分类: linux(11) ...
- centos离线部署gitlab
centos离线部署gitlab 有的时候因为工作环境需要,不能够连接互联网.而我们工作时又需要使用git进行合作开发,这时就需要在内网部署一个git服务端. 1.下载依赖软件包 yum instal ...
- Centos 7 部署 OpenStack_Rocky版高可用集群3-1
Centos 7 部署 OpenStack_Rocky版高可用集群3-1 文章目录 Centos 7 部署 OpenStack_Rocky版高可用集群3-1 1.前期准备 1.1 软硬件准备 1.1. ...
- thinksns php7,centos 7 部署Thinksns的思路详解
因为Thinksns是PHP项目,我们这里部署需要搭建Apache+mysql+php环境. 1.mysql的安装,这里使用yum安装可以解决很多依赖包的问题.由于centos 7 没有自带mysql ...
- 【区块链】DOCKER部署量子链私有网络环境以及部署智能合约实践
DOCKER部署量子链私有网络环境以及部署智能合约实践 安装环境 安装Docker https://store.docker.com/editions/community/docker-ce-desk ...
- 01、CentOS 7 部署GitLab
一.CentOS 7 部署 版本的选择上,应该选有有限汉化的版本.选择版本时,应该先到: https://gitlab.com/xhang 看看有没有汉化插件,在进行版本的选择. 1.环境介绍 Git ...
最新文章
- 每日一皮:一直认为写代码的自己有点小帅
- 【408预推免复习】操作系统引论
- MemCached缓存知识知多少?
- 代理池proxypool新版使用教程
- linux文件属性之用户和组基础知识
- HALCON学习之旅(三)
- 递归下降分析法的基本思想。_语法分析 | 递归下降分析算法
- 【NA】函数最佳逼近(三)切比雪夫多项式
- Nacos 国内镜像
- 2017年10月30日360最新虚拟壳脱壳后完全修复
- Python3 找200以内的所有素数/质数 | break与continue
- fan4801开关电源原理图_全面解析开关电源各功能电路(附原理图)
- linux进程线程-alarm闹钟函数
- Orge在VS2008的配置方法
- 有太多工作要做,传蚂蚁集团IPO可能推迟至2022年
- 【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态
- new FileReader()
- 使用进程池抓取猫眼数据
- 织梦dedecms 采集笔记
- 【消息中间件MQ系列】消息队列之ActiveMQ、RocketMQ、RabbitMQ、Kafka不得不说的秘密
热门文章
- MyBatis --教程
- mysql数据库的备份和二进制日志恢复
- 把C#.NET程序移植到DB2上的经验浅谈(C#连接DB2可以用IBM.Data.DB2.dll)
- 下载 infoq 网站视频
- [C# 项目实战]: 制作一个备忘录(经典)
- MAUI中构建跨平台原生控件实现
- Hello Blazor:(13)查找HTML元素对应.razor文件
- 愚蠢的领导才会用程序员祭天!!
- dotnet 基于 dotnet format 的 GitHub Action 自动代码格式化机器人
- WPF DataGrid 在Header中显示行号