上篇文章介绍了下[url=http://www.1sucai.cn/article/88333.htm]用vs发布部署到iis环境[/url],今天说下ubuntu下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core.
[b]1.部署准备环境[/b]
vmware虚拟机(其他也可以)
ubuntu16.04镜像
[b]2.发布环境[/b]
win10系统
vs2015 update3 或vs code (也可以用dotnet new -t web 命令创建项目)
dotnet sdk DotNetCore.1.0.0-SDK.Preview2-x64 下载地址https://www.microsoft.com/net/download 自行安装
[b]一.首先用vs 创建一个asp.net core 应该程序名称为 aspnetcoretest[/b]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100102_0_52271.png[/img]
[b]1.打开project.json[/b]
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform" //把这个节删掉
},
修改后
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
},
[b]
2.添加如下节点[/b]
"runtimes": {
"ubuntu.16.04-x64": {}
}
如修改后
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100102_1_54001.png[/img]
[b]3.去掉如下节点[/b]
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
},
[b]4.在vs创建的项目目录执行下[/b] dotnet restore
[b]5.接着执行dotnet publish -r ubuntu.16.04-x64,[/b]这里把文件发布到了项目目录binDebugnetcoreapp1.0ubuntu.16.04-x64下。
[b]6.把ubuntu.16.04-x64下的publish拷贝到ubuntu的桌面[/b],如下图
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100103_2_69673.jpg[/img]
[b]7. [/b]把这个
[b]publish目录移到动/var/local/[/b]下命令如下sudo mv publish /var/local 然后看下publish里文件
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100103_3_76482.jpg[/img]
[b]8.[/b] 设置应该程序文件执行权限也就是[b]
aspnetcoretest命令sudochmod+x/var/local/publish/aspnetcoretest[/b]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100103_4_82580.png[/img]
[b]二 安装jexus-5.8.2[/b]
1.先进入tmp目录:
[b]cd /tmp
[/b]2.下载jexus:[b]
wget http://www.linuxdot.net/down/jexus-5.8.2-x64.tar.gz
[/b]3.解压文件得到jexus文件夹:[b]
tar -zxvf jexus-5.8.2-x64.tar.gz[/b]
4. 把解压的jexus文件夹移动文件到/usr下:[b]
sudo mv jexus /usr/
[/b]5.进入/usr/jexus/目录下看下都有什么:[b]
cd /usr/jexus/[/b]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100104_5_91921.jpg[/img]
6.然后进入/usr/jexus/siteconf目录下:[b]
cd siteconf[/b]
7. 用编辑器打开default配置文件:[b]
sudo vim default (编辑器自行下载)[/b]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100104_6_39655.png[/img]
8.添加如下节点,主要配个配置用分号隔开,不能换行。
AppHost={CmdLine=/var/local/publish/aspnetcoretest;workRoot=/var/local/publish;env=(PATH=/var/local/publish:$PATH);port=5000}
说明
CmdLine=/var/local/publish/aspnetcoretest //指向你的站点目录的应用程序名称如aspnetcoretest
workRoot=/var/local/publish //指向你的站点目录即可
port=5000 //为jesux 转发到asp.net core 的端口,因为asp.net core 默认为5000 可以改其他。
配置好后保存退出。
9.执行sudo ../jws start 命令开启jexus 如果之前执行过可以执行sudo ../jws restart 主要我是在siteconf执行这个命令的用的是../也可以到上级目录jexus下去执行sudo ./jws start
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100105_7_39914.png[/img]
[b]Jexus的常用命令:[/b]
启动:
[b]sudo ./jws start[/b]
重启:[b]
sudo ./jws restart[/b]
停止:[b]
sudo ./jws stop[/b]
启动某个网站:
[b]sudo start 网站名[/b]
重启某个网站:[b]
sudo restart 网站名[/b]
停止某个网站:[b]
sudo stop 网站名[/b]
访问下localhsot
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100105_8_9570.png[/img]
成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。