.net core 部署 centos7 初试

时间:2023-03-09 00:59:23
.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

.net core 部署 centos7 初试

     搞开你的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的我也是苦苦下载了好久......

.net core 部署 centos7 初试

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

.net core 部署 centos7 初试

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

.net core 部署 centos7 初试

   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 来查看是否安装成功

.net core 部署 centos7 初试

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

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

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

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

   .net core 部署 centos7 初试

那我们就整mvc吧!

   dotnet new mvc

.net core 部署 centos7 初试

   dotnet restore  (恢复依赖的NuGet包)

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

   .net core 部署 centos7 初试

 这是我们就要关心下防火墙的问题了,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  ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-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 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport -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 ::

iptables

  systemctl restart iptables.service  

  systemctl enable iptables.service 

  这里我们用nginx来进行转发

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

  tar -zvxf nginx-1.8.0

.net core 部署 centos7 初试

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

  make  

  make install    

执行后查看下 whereis nginx

.net core 部署 centos7 初试

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

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

.net core 部署 centos7 初试

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,接下来本地浏览器访问一下 !
.net core 部署 centos7 初试

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

整整  守护服务(Supervisor)!