部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用

简介: 部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用

前面介绍了很多关于ABP框架的后台Web API 服务端,以及基于Vue+Element前端应用,本篇针对两者的联合部署,以及对部署中遇到的问题进行处理。ABP框架的后端是基于.net core5.0 的Asp.net core 应用,因此和常规的Asp.net core 应用部署一样;而Vue+Element前端应用则是基于nodejs的应用,部署方式又有所不同,这里介绍基于Nginx的部署。

1、部署基于.netcore5.0的ABP框架后台Api服务端

1)安装.net core 环境

在部署asp.net core服务前,需要在服务器中安装必须的环境。

由于当前ABP的Web API是基于.net core 5的,因此,我们打开.net core 5的页面:https://dotnet.microsoft.com/download/dotnet/5.0

在这里选择下载Hosting Bundle。因为Hosting Bundle包括了.Net Core运行时和IIS支持。下载完成以后,双击exe文件即可进行安装即可。

安装完成以后我们在命令行里面输入下面的命令,检查是否安装成功:

dotnet --info

如下图所示:

可以看到提示我们已经安装了.NET Core runtimes环境等所需软件。

由于我们需要部署到IIS上面,所以安装完需使用下面的命令行重启IIS服务:

net stop was /y
net start w3svc

如下图所示:

也可以在管理服务器里面重启启动IIS。

2) 发布.net core项目

服务器.net core环境弄好后,下一步就是准备好发布包,我们在ABP框架的Host项目进行发布。

发布选择文件发布,如下所示。

然后调整设置如下所示。

 

最后我们生成发布包,在对应的目录下,如下所示。

G:\***\Web.Host\bin\Release\net5.0\publish\

 

3)在服务器中设置IIS

把文件上传到服务器上,然后就是准备设置好IIS了。

先在IIS服务器上创建一个网站,指定对应目录和端口等信息,如下所示。

然后找到对应的应用程序池,找到刚才创建的ABP应用程序池。设置.net clr版本为【无托管代码

在其中把标识由ApplicationPoolIdentity修改为LocalSystem,以提供应用权限可以访问数据库。

最后点击【确定】按钮,网站及部署完成。我们就可以在浏览器里面进行浏览了。

顺利弄完asp.net core的后端API服务,那么下面就需要同时把Vue+Element的前端部署在服务端了。

 

2、使用Nginx部署Vue+Element前端应用

部署Vue+Element的前端应用,建议使用Nginx服务,这个对于Vue里面的URL代理转向设置比较方便些。

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。

首先到nginx服务网站下载对应的程序包进行安装:http://nginx.org/en/download.html,  建议下载稳定版本进行安装。

nginx的DOS操作命令有几个,比较简单

start nginx    启动
nginx -s reload     刷新配置文件
tasklist /fi "imagename eq nginx.exe"   查看所有的nginx进程
taskkill /fi "imagename eq nginx.exe" /f  停止所有nginx进程

定位到解压的目录,然后在DOS窗口中执行  start nginx  启动nginx服务。

在使用前,我们需要检查nginx是否启动成功,直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功。

 

也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功

 

nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。

在处理网站的URL代理设置前,我们先回到我们Vue+Element 项目里面,我们在vue.config.js里面一般都有为跨域处理实现的代理设置,如下图所示。

而发布应用到服务器的时候,我们需要配置它的反向代理设置。

使用Nginx部署Vue+Element前端应用的时候,我们可以利用它的反向代理设置配置即可。

在nginx下的conf\nginx.conf中修改nginx的配置文件,配置修改。

根据我在Vue前端项目上的devServer的配置,我们在nginx的反向代理设置如下所示。

完整设置信息如下所示:

server {
        listen       8000;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html =404;                    
        }
        location /baseabp { 
            proxy_set_header Host                    $host:21021; #图片等资源需带端口获取
            proxy_set_header x-forwarded-for         $remote_addr;
            proxy_set_header X-Real-IP               $remote_addr;
            proxy_pass                               http://localhost:21021;
        }            
        location /abp { 
            proxy_set_header Host                    $host:21021; #图片等资源需带端口获取
            proxy_set_header x-forwarded-for         $remote_addr;
            proxy_set_header X-Real-IP               $remote_addr;
            proxy_pass                               http://localhost:21021/api;
        }

以上设置处理后,前端使用到Web API端的文件,反向代理也会带上对应的端口号,实现图片等上传API目录下的资源的正常访问了。

 

专注于代码生成工具、.Net/.NetCore 框架架构及软件开发,以及各种Vue.js的前端技术应用。著有Winform开发框架/混合式开发框架、微信开发框架、Bootstrap开发框架、ABP开发框架、SqlSugar开发框架等框架产品。
 转载请注明出处:撰写人:伍华聪  http://www.iqidi.com

相关文章
|
9月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
923 1
|
5月前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
297 13
|
10月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
594 83
|
10月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
609 70
|
9月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
418 22
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
519 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
510 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
310 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
325 0

热门文章

最新文章