.net core 部署 centos7 初试

     最近抽时间搞搞.net core,这方面已经有很多先驱人物贡献了好多文章了,今天沿着前辈们走的坑自己再淌一下......

     注意开头说的使用centos7,我电脑之前全是6.几的版本,然后就一头雾水的搞,中间的辛苦我就不说了,你要是厉害你就搞,要是能给我分享下我感激你,不过你要是上Ubuntu 的话我就不知道了.......

     还有装.NET Core SDK的时候也不要直接拿别人的curl 命令去下载,最好去网站上看一下https://www.microsoft.com/net/download/linux  

     vs2017,创建项目的时候project.json已经不见了,然后用别人文章里的curl直接下载sdk,结果悲剧,就是run不起来,所以你也注意,保不齐那天就更新了跟你vs版本不一致了......

     我这里用的  https://download.microsoft.com/download/F/D/5/FD52A2F7-65B6-4912-AEDD-4015DF6D8D22/dotnet-1.1.1-sdk-centos-x64.tar.gz

     搞开你的VM,启动你的centos7,打开你的xshell,开搞!

     首先,yum install libunwind libicu(安装libicu依赖)

     ok后  curl -sSL -o dotnet.tar.gz https://download.microsoft.com/download/F/D/5/FD52A2F7-65B6-4912-AEDD-4015DF6D8D22/dotnet-1.1.1-sdk-centos-x64.tar.gz(下载sdk压缩包)

     哎,一百多兆,也挺费事儿,所以我就那啥直接在迅雷给下载了,作为迅雷会员的我是多么机智,没有centos7的我也是苦苦下载了好久......

    

     接下来xftp搞进来,我这里没有改tar包的名

    

   看下,红色部分已经导进来了,我这里直接用的root账号

   

   mkdir -p /opt/dotnet && sudo tar zxf dotnet-1.1.1-sdk-centos-x64.tar.gz  -C /opt/dotnet(--解压缩)

   ln -s /opt/dotnet/dotnet /usr/local/bin(创建链接)

   下面我们验证下看看 输入 dotnet --info 来查看是否安装成功

    

   看样子是成功了!接下来开始整理程序

   mkdir /usr/local/WebApp_Core1    (创建目录)

   cd /usr/local/WebApp_Core1/   (进入目录)

   dotnet new -all 看下创建命令说明 mvc、webapi什么的都支持

   

   那我们就整mvc吧!

   dotnet new mvc

   

   dotnet restore  (恢复依赖的NuGet包)

   dotnet run (启动,这里看到已经绑定到5000端口了)

   

   这是我们就要关心下防火墙的问题了,centos7使用的firewall ,而我熟悉iptables,继续找解决方案
   systemctl status firewalld.service检测是否开启了firewall)

   systemctl stop firewalld.service  (关闭firewall)

   systemctl disable firewalld.service (禁止firewall开机自启)

   yum install iptables-services
   vi /etc/sysconfig/iptables
  将下面配置写入 然后:wq 保存
   
# Generated by iptables-save v1.4.21 on Fri Mar 17 10:56:54 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [26:2052]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Mar 17 10:56:54 2017
iptables

  systemctl restart iptables.service  

  systemctl enable iptables.service 

  这里我们用nginx来进行转发

  nginx的安装,这里自己下载了nginx的包,同样xftp传到centos中

  tar -zvxf nginx-1.8.0

  

  ./configure  $默认安装在/usr/local/nginx   

  make  

  make install      

  执行后查看下 whereis nginx

  

  ok,进入nginx的conf文件夹,修改nginx.conf

  我这里把配置文件传输到本地用notepad++,红色部分为新增,注意 以utf-8无bom格式

    

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;
        }
   然后再进行替换就ok了,接下来
  ./usr/local/nginx/sbin/nginx (启动)
  ok,接下来本地浏览器访问一下 !

今天先这样吧,后面再继续跟随前辈们的脚步再

整整  守护服务(Supervisor)!

原文地址:https://www.cnblogs.com/Burt/p/6566642.html