Asp.net Core 初探(发布和部署Linux)
前言
俗话说三天不学习,赶不上*。asp.net core更新这么长时间一直观望,周末帝都小雨,宅在家看了下core web app,顺便搭建了个helloworld环境来尝尝鲜,第一次看到.net web运行在linux上还是有点小激动(只可惜微软走这一步路走的太晚,要不然屌丝们也不会每每遇见java vs .net就想辩论个你死我活)。
开发环境和部署环境
windows 10、vs2015 update3。安装.net core sdk、dotnetcore.1.0.1-vs2015tools.preview2.0.2
ubuntu kylin 16.04、nginx
"helloworld"
从报文里可以看到linux服务器的地址和反向代理nginx及nginx的版本。 web我是直接用vs2015 core web的模板。
开发和部署
1、使用vs2015创建core web app。
2、在本地发布并浏览,切换到项目src下的根目录,,比如我的目录/works.core/src/works.core 运行命令:dotnet publish。运行命令确保你安装了npm。不然会报错。运行命令后会看到published 1/1 projects successfully。
发布后本地根目录会有/bin/debug/netcoreapp1.0/publish/。 publish则是我们需要的发布包。 在里面找到[projectname].dll。 在本地测试下项目发布包是否可以运行:dotnet works.core.dll。 运行后会提示now listening on http://localhost:5000说明本地发布包没问题。
linux
1、安装dotnet环境参照官方文档:
2、首先在linux中创建一个workspace文件夹,我放在/home/workspace。然后把发布包拷贝到workspace中。然后使用命令dotnet works.core.dll
看到提示在linux里就可以浏览网站了
3、安装并配置nginx。
安装apt-get install nginx。 安装后查看nginx版本nginx -v
4、测试nginx安装是否成功,浏览器输入http://localhost
5、配置nginx代理。默认文件路径在/etc/nginx/sites-available/default。使用sudo gedit default打开文件。在server节点,找到80端口的location,修改内容如下
server { listen 80; server_name 192.168.112.129; 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; } }
保存退出,然后使用命令sudo nginx -s reload重启nginx服务器。
ok, 可以用linux服务器ip来访问你的core web app了。that's all!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Asp.net Core 初探(发布和部署Linux)
-
Asp.net Core应用程序在Linux上部署的图文详解
-
详解ASP.NET Core 网站发布到Linux服务器
-
ASP.NET Core程序发布到Linux生产环境详解
-
.net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
-
ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署
-
ASP.NET Core程序发布到Linux生产环境详解
-
Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)
-
详解ASP.NET Core 网站发布到Linux服务器
-
详解Asp.Net Core 发布和部署( MacOS + Linux + Nginx )