ASP.NET Core下发布网站

一、windows下发布到IIS

1、前奏:IIS 上的准备

(1)IIS 必须安装AspNetCoreModule 模块

下载地址:(DotNetCore.2.0.3-WindowsHosting-aspnetcoremodule for iis

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?tabs=aspnetcore2x

(2)添加网站:

相应的配置:

至此iis配置完毕

2、使用控制台命令发布网站

F:asp.net core-ProjectHelloVS>dotnet publish
F:asp.net core-ProjectHelloVS>dotnet publish -o E:websiteaspnetcoredemo

发布完毕

3、使用vs2017发布网站

右键项目:

选则发布,选择文件系统发布——>发布成功!

二、ASP.NET Core部署到centos7,利用Nginx代理

1、准备centos环境

(1)下载vmvare

(2)下载centos

(3)安装centos

(4)运行虚拟机

由于我装是centos最小系统还需要测试安装网卡,以下为我测试安装网卡的步骤:

ls
ping baidu.com
ifconfig
Cd  /etc/sysconfig
Ls
Cd network-scripts/
Ls
Vi ifcfg-ens33  --将onboot=no 改成yes ,按ESC退出编辑
:wq
Service network restart --重启网卡
Ping baidu.com --按CTRL +C 停止
Ifconfig
Sudo yum install net-tools --安装工具
Ifconfig--成功

 2、 Install Nginx on CentOS 7

安装nginx作用:nginx的作用像iis,是个web服务器。做转发。

我们发现http://localhost:5000 可以访问。但是通过ip却不能访问。那么我们现在就可以通过80访问nginx,然后nginx再帮我们访问5000。

step one

sudo yum install epel-release

step two

sudo yum install nginx

step three

sudo systemctl start nginx

step four 

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

 访问centos IP地址

安装成功!

3、在 CentOS 上安装 .NET Core 运行时

下载.net core 网址 https://www.microsoft.com/net/learn/get-started/linuxcentos

step one :Add the dotnet product feed

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]
name=packages-microsoft-com-prod 
baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

step two:Install the .NET SDK

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1.4

运行 dotnet --version 

显示2.1.4 

成功

示例:

Dotnet new webapi

Dotnet run 

打开另一个窗口输入:

 curl http://localhost:5000/api/values

4、j将asp.net core mvc 项目部署到centos

(1)打开VS2017创建asp.net core mvc 项目,并用文件系统发布。

(2)用FileZilla软件将文件导入到centos里面home文件夹下面的netcore文件夹下,端口为22:

(2)检查文件是否存在以及在centos上启动这个网站。

启动:dotnet mhqtalks.dll

(3)打开另一个编辑器窗口 ,输入

 curl http://localhost:5000

这里可以看到网站已经可以访问了

(4)nginx80端口映射到5000端口上,配置反向代理

进入nginx安装目录 cd /etc/nginx

查看nginx.conf

vi nginx.conf

可以看到默认是吧所有的*.conf文件引入进来的

刚开始有默认的80端口的配置,我们要把它注释掉

注释后

这时候进入conf.d文件夹发现里面并没有任何文件

这时候我们创建一个netcore.conf文件,将80端口对5000对口进行转发

插入代码:

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;
    }
}
Esc-:wq
nginx -s reload
systemctl restart nginx

结束。

在这里感谢jeese老师。

友情提示

作者: mhq_martin

博客园地址: http://www.cnblogs.com/mhq-martin/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/mhq-martin/p/8289935.html