码迷,mamicode.com
首页 > Web开发 > 详细

跨平台部署.NET Core程序

时间:2017-02-25 13:37:46      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:0.12   win10   src   win8   macos   安装完成   stp   配置   access   

开发环境:Win10

开发工具:Visual Studio 2015

部署环境:centos 7-x64或macOS 10.12

一、准备工作

(一)开发机器

1. 安装VS2015 .NET Core开发工具:Visual Studio 2015 Tools (Preview 2),下载地址:https://go.microsoft.com/fwlink/?LinkId=827546

2. 安装.NET Core SDK,下载地址:https://go.microsoft.com/fwlink/?LinkID=835009

3. ASP.NET Core程序可以使用命令行启动Web服务,如果需要使用IIS,还要下载一个伺服器:Windows Server Hosting,下载地址:https://aka.ms/dotnetcore_windowshosting_1_1_0

(二)部署机器

1. 安装.NET Core环境

(1)CentOS安装方法详见:https://www.microsoft.com/net/core#linuxcentos

(2)macOS安装方法详见:https://www.microsoft.com/net/core#macos

2.安装Nginx

(1)CentOS安装方法详见:http://blog.csdn.net/renminzdb/article/details/48948165

(2)macOS安装方法:终端中输入“brew install nginx”,安装完成之后,输入“nginx -v”查看是否安装成功。

二、开发

(一)新建.Net Core程序

技术分享

(二)修改Project.json文件

1. 将“type”这一句注释掉

  1 "dependencies": {
  2     "Microsoft.NETCore.App": {
  3       "version": "1.0.0"
  4       //"type": "platform"
  5     }

2. 将“postpublish”这一句注释掉

  1 "scripts": {
  2     "prepublish": [ "bower install", "dotnet bundle" ]
  3     //"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  4   }

3. 加上“runtimes”,将需要发布的平台写上

  1   "scripts": {
  2     "prepublish": [ "bower install", "dotnet bundle" ]
  3     //"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  4   },
  5   "runtimes": {
  6     "centos.7-x64": {},
  7     "osx.10.10-x64": {},
  8     "win10-x64": {},
  9     "win8-x64": {},
 10     "win81-x64": {}
 11   }

(三)发布

1. 打开CMD,进入程序目录“src\项目名”,执行“donnet restore”;

2. 执行“dotnet publish –r centos.7-x64”,如果是macOS则是“dotnet publish –r osx.10.10-x64”(macOS 10.12测试也可用);

3. 复制“src\项目名\bin\Debug\netcoreapp1.0\centos.7-x64”到CentOS或macOS机器上。

三、部署

(一)运行程序

1. 运行”终端“,进入程序目录,输入”dotnet 程序入口文件名.dll“(如”dotnet WebApp1.dll”或“dotnet ConsoleApp1.dll”等),当前窗口不要关闭;

2. 如果是ASP.NET Core程序,输入网址(如 http://localhost:5000),看服务是否已经正常启动。

(二)配置 Nginx 代理

1. macOS配置:

安装完 nginx 之后,默认的配置文件路径在 /usr/local/etc/nginx 文件夹中。在这个文件夹中找到nginx.conf 配置文件,使用 Visual Studio Code 打开,在 Server 节点中,找到监听 80端口的location 节点,修改配置为如下:

  1 server {
  2     listen 80;
  3 
  4     #root /usr/share/nginx/html;
  5     #index index.html index.htm;
  6 
  7     # Make site accessible from http://localhost/
  8     server_name localhost;
  9 
 10     location / {
 11         proxy_pass http://localhost:5000;
 12         proxy_http_version 1.1;
 13         proxy_set_header Upgrade $http_upgrade;
 14         proxy_set_header Connection keep-alive;
 15         proxy_set_header Host $host;
 16         proxy_cache_bypass $http_upgrade;
 17     }
 18 }

保存并退出, 然后使用sudo nginx -s reload命令来重新加载配置。
然后我们打开浏览器 输入http://localhost,发现此时已经通过 Nginx 来访问我们的站点了。

2. CentOS配置:

安装完 nginx 之后,默认的配置文件路径在 /etc/nginx/sites-available/default 文件中。切换工作目录到/etc/nginx/sites-available/,使用sudo gedit default命令打开 default 文件。

后续操作跟上述macOS的操作相同。

跨平台部署.NET Core程序

标签:0.12   win10   src   win8   macos   安装完成   stp   配置   access   

原文地址:http://www.cnblogs.com/zhangfeistudio/p/6441508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!