zoukankan      html  css  js  c++  java
  • .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虚拟机

  • 相关阅读:
    spring学习总结003 --- IOC容器启动源码(BeanFactoryPostProcessor)
    spring学习总结002 --- IOC容器启动源码(BeanFactory)
    ubuntu上安装mysql
    kafka学习总结017 --- consumer配置参数之max.poll.interval.ms
    kafka学习总结016 --- consumer配置参数session.timeout.ms和heartbeat.interval.ms
    kafka学习总结015 --- consumer配置参数之auto.offset.reset
    kafka学习总结014 --- consumer多线程问题
    kafka学习总结013 --- kafka消费者API
    kafka学习总结012 --- 数据消费相关流程
    Java SAX解析
  • 原文地址:https://www.cnblogs.com/zuqing/p/8231957.html
Copyright © 2011-2022 走看看