.net core 2.0学习笔记(二):部署到Windows和Liunx系统
2018-01-08 00:01
204 查看
.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段替换成下面的配置
最后使用命令: 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 或者 [b]systemctl enable nginx[/b]
使用命令:[b]systemctl is-enabled nginx [/b]来确认是否设置成功
可能出现的问题:
1.如果在Windows下出现访问不了的情况(FlashFXP/Putty连接不上),可以重启下CentOs虚拟机
首先发布项目文件,点击网站项目右键 发布:
从下图发布的文件图片可以看出,不像以前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 或者 [b]systemctl enable nginx[/b]
使用命令:[b]systemctl is-enabled nginx [/b]来确认是否设置成功
可能出现的问题:
1.如果在Windows下出现访问不了的情况(FlashFXP/Putty连接不上),可以重启下CentOs虚拟机
相关文章推荐
- ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目打包部署Windows+Linux
- windows node.js环境部署步骤
- unix linux windows 下的sqlldr使用及crontab部署和下发邮件
- .NET Core应用程序的2种部署方式
- Windows 下使用 Nginx+Mono 部署 ASP.Net
- windows下nginx+mono+fastCGI部署asp.net网站
- Windows下部署BigBlueButton
- Windows环境下实现Jenkins自动化部署
- Windows 8部署系列PART6:准备模板计算机配置
- Windows Embedded Compact 7 打包和部署程序(下)
- 在windows上部署使用Redis
- Windows平台下Symantec NetBackup 7.5的安装与部署(一)
- mongoDB分布式部署(windows)——服务安装与副本集配置初始化——本机(二)
- windows下部署Elasticsearch
- 在windows环境通过cygwin部署hadoop伪集群
- Windows+Apache+PHP(5.6或者7.0)+MySQL项目部署各种坑的解决
- Windows 2008 部署服务之Windows 7 应答文件创建
- Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站
- 在 Windows 下部署 Vagrant