.net core 2.0学习笔记(二):部署到Windows和Liunx系统

   .Net Core最大的亮点就是跨平台了,下面介绍下在Windows下和Liunx下的部署。python

   首先发布项目文件,点击网站项目右键 发布:linux

从下图发布的文件图片能够看出,不像之前bin目录下有不少dll,如今整体文件大小比之前小了不少nginx

一.Windows下部署(较比以前部署多了下载一个模块和选择无托管)windows

   (1)安装AspNetCoreModule托管模块(已安装则跳过),点击我下载centos

   (2)安装以后在模块里能够找到AspNetCoreModule就说明成功了浏览器

 

   (3) 在IIS中添加网站:curl

 

         最后选择 无托管代码 便可工具

   (4)运行效果:网站

    

二.Liunx部署url

   (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虚拟机

相关文章
相关标签/搜索