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 实践相关推荐

  1. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 ...

  2. centos 安装jdk_新Jenkins实践-第2章 JENKINS SERVER的安装部署方式

    本章阐述Jenkins Server的安装部署方式.基于Tomcat.CentOS.MacOS.Docker.Kubernetes.Windows部署. 部署后的基础配置. 1.1 安装依赖 Jenk ...

  3. Docker 部署dotnetcore

    安装docker 系统还是之前centos 7.1 https://www.docker.com/products/docker#/linux yum update 创建源: /etc/yum.rep ...

  4. 阿里云linux centos 一键部署web环境--图文详解

    阿里云linux centos 一键部署web环境--图文详解 标签: linux阿里云一键部署 2017-04-15 12:28 386人阅读 评论(0) 收藏 举报  分类: linux(11)  ...

  5. centos离线部署gitlab

    centos离线部署gitlab 有的时候因为工作环境需要,不能够连接互联网.而我们工作时又需要使用git进行合作开发,这时就需要在内网部署一个git服务端. 1.下载依赖软件包 yum instal ...

  6. Centos 7 部署 OpenStack_Rocky版高可用集群3-1

    Centos 7 部署 OpenStack_Rocky版高可用集群3-1 文章目录 Centos 7 部署 OpenStack_Rocky版高可用集群3-1 1.前期准备 1.1 软硬件准备 1.1. ...

  7. thinksns php7,centos 7 部署Thinksns的思路详解

    因为Thinksns是PHP项目,我们这里部署需要搭建Apache+mysql+php环境. 1.mysql的安装,这里使用yum安装可以解决很多依赖包的问题.由于centos 7 没有自带mysql ...

  8. 【区块链】DOCKER部署量子链私有网络环境以及部署智能合约实践

    DOCKER部署量子链私有网络环境以及部署智能合约实践 安装环境 安装Docker https://store.docker.com/editions/community/docker-ce-desk ...

  9. 01、CentOS 7 部署GitLab

    一.CentOS 7 部署 版本的选择上,应该选有有限汉化的版本.选择版本时,应该先到: https://gitlab.com/xhang 看看有没有汉化插件,在进行版本的选择. 1.环境介绍 Git ...

最新文章

  1. 每日一皮:一直认为写代码的自己有点小帅
  2. 【408预推免复习】操作系统引论
  3. MemCached缓存知识知多少?
  4. 代理池proxypool新版使用教程
  5. linux文件属性之用户和组基础知识
  6. HALCON学习之旅(三)
  7. 递归下降分析法的基本思想。_语法分析 | 递归下降分析算法
  8. 【NA】函数最佳逼近(三)切比雪夫多项式
  9. Nacos 国内镜像
  10. 2017年10月30日360最新虚拟壳脱壳后完全修复
  11. Python3 找200以内的所有素数/质数 | break与continue
  12. fan4801开关电源原理图_全面解析开关电源各功能电路(附原理图)
  13. linux进程线程-alarm闹钟函数
  14. Orge在VS2008的配置方法
  15. 有太多工作要做,传蚂蚁集团IPO可能推迟至2022年
  16. 【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态
  17. new FileReader()
  18. 使用进程池抓取猫眼数据
  19. 织梦dedecms 采集笔记
  20. 【消息中间件MQ系列】消息队列之ActiveMQ、RocketMQ、RabbitMQ、Kafka不得不说的秘密

热门文章

  1. MyBatis --教程
  2. mysql数据库的备份和二进制日志恢复
  3. 把C#.NET程序移植到DB2上的经验浅谈(C#连接DB2可以用IBM.Data.DB2.dll)
  4. 下载 infoq 网站视频
  5. [C# 项目实战]: 制作一个备忘录(经典)
  6. MAUI中构建跨平台原生控件实现
  7. Hello Blazor:(13)查找HTML元素对应.razor文件
  8. 愚蠢的领导才会用程序员祭天!!
  9. dotnet 基于 dotnet format 的 GitHub Action 自动代码格式化机器人
  10. WPF DataGrid 在Header中显示行号