最近学了asp.net core,迫不及待的想部署上线,按网上一些教程部署,老是出一些莫名其妙的错误,经过重装10+次系统,操作了几十遍,终于部署好,以博客记录下,方便以后查找
在centos7下安装.net sdk(在服务器来说,安装runtime就可以了的。但是为了方便,直接装sdk了。经历过装runtime出现各种莫名其妙的问题,泪弃)
runtime、sdk各版本地址: https://www.microsoft.com/net/download/all
site1:安装dotnet-sdk
要开始安装.NET,您需要注册Microsoft签名密钥并添加Microsoft产品提要。这只需要在每台机器上完成一次。
打开命令提示符并运行以下命令:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c'echo -e“[packages-microsoft-com-prod] \ nname = packages-microsoft-com-prod \ nbaseurl = https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc“> / etc /yum.repos.d/dotnetdev.repo”
安装.NET SDK
更新可用于安装的产品,安装.NET所需的组件,然后安装.NET SDK。
在你的命令提示符下,运行以下命令:
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1.105
site2:安装Nginx
添加 Nginx 的下载源到 yum:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装Nginx
sudo yum install -y nginx
site3:用xftp连接到centos服务器。编辑Nginx.conf配置
下载xftp,用xftp连接到centos,在/etc/nginx 找到nginx.conf,用编辑器打开,修改server,cd到nginx目录下启动Nginx,输入命令nginx
server { listen 80; server_name xxxxx.com; #域名 location / { proxy_pass http://localhost:5000; //启动的asp.net core进程 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; }
site4:启动
将asp.net core项目发布到文件系统,打开目录copy文件,用xftp上传到centos下,cd命令到项目当前目录,使用命令:nohup dotnet HelloWebApp.dll & (后台启动,这样就可以关掉命令窗口了)