.net core 2.0学习笔记(二):部署到Windows和Liunx系统
.Net Core最大的亮点就是跨平台了,下面介绍下在Windows下和Liunx下的部署。
首先发布项目文件,点击网站项目右键 发布:

从下图发布的文件图片可以看出,不像以前bin目录下有很多dll,现在总体文件大小比以前小了很多

一.Windows下部署(较比之前部署多了下载一个模块和选择无托管)
(1)安装AspNetCoreModule托管模块(已安装则跳过),点击我下载
(2)安装之后在模块里可以找到AspNetCoreModule就说明成功了


(3) 在IIS中添加网站:


最后选择 无托管代码 即可
(4)运行效果:

二.Liunx部署
(1)这里以迷你版的CentOs(CentOS-7-x86_64-Minimal-1708)为示例,运行CentOS
1.修改 ifcfg-ens33 文件


修改之后按ESC键,再输入:wq保存退出,最后输入 service network restart 重启网卡
2.安装net-tools
输入sudo yum install net-tools,最后根据提示输入Y即可
3.输入ifconfig,查看当前系统ip地址

4.第三步我们知道了IP地址,下面就使用windows下的一个工具来操作centOS(毕竟在CentOs中操作比较麻烦),工具:点击下载putty


复制好文字右键就是粘贴
5.Nginx的安装(重启Nginx命令: systemctl restart nginx)
输入命令( 根据提示输入Y 即可):
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
还需要输入关闭防火墙命令:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
完成之后可以在Windows的浏览器中输入上面的IP访问了

6.在CentOs中下载.Net Core
具体操作:https://www.microsoft.com/net/learn/get-started/linuxcentos

安装成功之后输入dotnet --version会出现版本则说明成功了

7.将我们在 Visual Studio 2017 中的网站发布文件复制到CentOs中,我们需要用到FTP传输工具,这里使用FlashFXP
首先在FlashFXP菜单中找到 站点-站点管理器-新建站点

连接成功之后,在home文件夹下新建netcore文件夹,然后把发布文件通过FTP传输进去

如果输入dotnet CoreDemo.dll出现报错,运行命令: sudo yum install dotnet-sdk-2.1.3(或者在上面第6步操作的时候直接安装这个)

安装之后再次输入dotnet CoreDemo.dll:

在CentOS中使用命令: curl http://localhost:5000没有出现错误则成功
最后修改Nginx配置来实现局域网访问:
使用FlashFXP进入/etc/nginx/ 修改其中的nginx.conf文件(也可以使用命令来编辑)

将其中的server段替换成下面的配置
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;
}
}
最后使用命令: systemctl restart nginx 重启Nginx
输入之后发现出现502 Bad GateWay.....

这个问题找了我好久...结果发现是因为Linux保护机制所导致,我们需要将nginx添加至Linux的白名单
输入以下命令:
yum install policycoreutils-python
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
sudo semodule -i mynginx.pp
再尝试访问:

到现在基本部署完成了。
问题:我们会发现重启CentOs之后Nginx需要手动启动,下面配置将Nginx改为自启动:
使用命令: systemctl enable nginx.service 或者 systemctl enable nginx
使用命令: systemctl is-enabled nginx 来确认是否设置成功
可能出现的问题:
1.如果在Windows下出现访问不了的情况(FlashFXP/Putty连接不上),可以重启下CentOs虚拟机
.net core 2.0学习笔记(二):部署到Windows和Liunx系统的更多相关文章
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建
作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...
- .net core 2.0学习笔记(一):开发运行环境搭建
期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...
- net core 2.0学习笔记(一):开发运行环境搭建 (转)
期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...
- dotnet Core 2.0学习笔记(一)
一:Dotnet Core Windows运行环境,标红部分要注意 https://docs.microsoft.com/en-us/dotnet/core/windows-prerequisites ...
- .net core 2.0学习笔记(五):程序配置&ConfigurationManager
配置组件是.net framework中非常常用的功能.在创建.net framework 工程时,系统不仅会自动生成app.config文件,而且还提供了非常强大的访问类库.但是这些好东西,在.ne ...
- .net core 2.0学习笔记(二):Hello World & 进阶
官网已经有一个.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但这个教程完全没有顾及全宇宙第一IDE的感受.今天就跟大家体验 ...
- .net core 2.0学习笔记(四):迁移.net framework 工程到.net core
在迁移.net core的过程中,第一步就是要把.net framework 工程的目标框架改为.net core2.0,但是官网却没有提供转换工具,需要我们自己动手完成了..net framewor ...
- .net core 2.0学习笔记(六):Remoting核心类库RealProxy迁移
在学习.net core的过程中,我们已经明确被告知,Remoting将不会被支持.官方的解释是,.net framework 类型包含了太多的Runtime的内容,是一个非常重量级的服务实现,已被确 ...
随机推荐
- 修真院java后端工程师学习课程--任务1(day four)
今天学习的是spring框架,内容主要有: spring的概念,主要是做什么的: Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversio ...
- cpuimage 开源之
前年学习opengl做的一个小东西. 原本计划将gpuimage 的算法一个一个转写成cpu版本 c,c++ 版本. gpuimage 项目参考: https://github.com/BradLar ...
- linux ubuntu 远程ssh登录
当我们有一个Linux系统的时候,可能用到远程ssh登录,当你是没有界面的系统的时候也会用到,远程操作起来比较方便. 首先我们的电脑默认是不安装ssh的,就是无法通过ssh远程连接,所以要安装shh. ...
- scipy.optimize.minimize 解决实际问题
接上博客问题http://www.cnblogs.com/shizhenqiang/p/8274806.html # coding=utf-8 from scipy import optimize i ...
- python_如何为元组中每个元素命名
学生信息系统: (名字,年龄,性别,邮箱地址) 为了减少存储开支,每个学生的信息都以一个元组形式存放 如: ('tom', 18,'male','tom@qq.com' ) ('jom', 18,'m ...
- tomcat部署最佳实践(一)
Tomcat部署最佳实践 标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 tomcat是玩web软件必会技能之一,今天我给大家介绍一下tomc ...
- 完全卸载SQL Server 2008r2
完全卸载SQL Server 2008r2 "五一"时进行了系统重装,在没有卸载SQL Server 2008情况下尝试安装SQL Server 2008r2 ,安装提示成功但 ...
- JMeter生成HTML性能报告
有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的 一.准备工作 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚 ...
- Spring整合JMS(一)-基础篇
1.基础知识 图1 同步通信和异步通信通信过程示意图 RMI使用的是同步通信,JMS使用的是异步通信.从图1可以看出异步通信的好处就是减少了不必要的等待,提高了效率. JMS中有两个主要的概念:消 ...
- MySQL二进制日志binlog简单使用
MySQL数据库进行了哪些CUD操作,通过binlog二进制文件可以查看.binlog不仅可以记录CUD的操作(select操作不包括在内),还是主从备份的基础.主库的操作记录成binlog文件,定期 ...