首页 > 其他分享 >Abp Angular 项目部署

Abp Angular 项目部署

时间:2024-12-18 10:24:15浏览次数:5  
标签:environment IIS 部署 SWKJ Abp nginx 文件夹 Angular CRM

Abp Angular 项目部署

后端Api部署

生成发布文件

  • 在“解决方案资源管理器”中右键单击该项目,然后选择“发布”。
  • 在“选择发布目标”对话框中,选择“文件夹”发布选项 。
  • 设置“文件夹或文件共享”路径。
    • 如果为开发计算机上可用作网络共享的 IIS 站点创建了一个文件夹,请提供该共享的路径。 当前用户必须具有写入权限才能发布到共享。
    • 如果无法直接部署到 IIS 服务器上的 IIS 站点文件夹,请发布到可移动介质上的文件夹,并将已发布的应用物理移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径。 将 bin/Release/{TARGET FRAMEWORK}/publish 文件夹的内容移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径。
  • 选择“发布”按钮

生成数据脚本

在开发工具visual studio程序包管理控制台中执行以下脚本。

默认项目选择SWKJ.CRM.EntityFrameworkCore,启动项目选择SWKJ.CRM.EntityFrameworkCore

Script-Migration -Idempotent

Idempotent 参数产生幂等脚本

默认项目选择SWKJ.CRM.DataSync,启动项目选择SWKJ.CRM.DataSync

Script-Migration -Idempotent --context CRMDataSyncDbContext

安装运行环境

配置IIS

正常的asp.net网站部署,需要注意的是应用池.NET CLR 版本选择无托管代码

Angular 前端发布

打包

ng build --aot

ng build 产生选项

特定配置编译

src/environments文件夹中添加 environment.prod.SWKJ.ts文件,并进行一下配置

import { Environment } from '@abp/ng.core';

// 前端网站地址
const baseUrl = 'http://localhost:1142';

export const environment = {
  production: true,
  application: {
    baseUrl,
    name: 'CRM',
    logoUrl: '',
  },
  oAuthConfig: {
    // 后台授权地址
    issuer: 'https://localhost:1140/',
    redirectUri: baseUrl,
    clientId: 'CRM_App',
    responseType: 'code',
    scope: 'offline_access CRM',
    requireHttps: true
  },
  apis: {
    default: {
    // 后台api地址
      url: 'https://localhost:1140',
      rootNamespace: 'SWKJ.CRM',
    },
  },
} as Environment;

angular.json文件中添加以下配置:


            "SWKJ":{
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.SWKJ.ts"
                }
              ],
              "outputHashing": "all"
            },

效果如下:

    {
            ...
          "configurations": {
            "production": {
              "budgets": [
                ...
              ],
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "outputHashing": "all"
            },
            "SWKJ":{
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.SWKJ.ts"
                }
              ],
              "outputHashing": "all"
            },
          }

执行以下命令进行编译

ng build --aot --configuration=SWKJ

服务器IIS安装 IIS URL Rewrite

在IIS的根目录点击右侧的【获取新的Web平台组件】。在 web platform installer 的搜索框里搜 rewrite ,出来之后 按照步骤安装。

然后 web.config 的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <rewrite>
      <rules>
        <rule name="Angular Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
 <modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true" >
      <remove name="WebDAVModule" />
    </modules>
        <httpErrors>
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="" path="/" responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

在IIS中部署

正常的发布网站的步骤执行,.NET CLR版本选择对应的.NET版本

修改应用池中设置

在应用池高级设置里,将process Model下的Identity修改为LocalService(也可以不修改,使用默认的ApplicationPoolIdentity)。

解决页面刷新404问题

下载URL Rewrite

配置web.config

<system.webServer>节点添加以下配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

在nginx中部署

下载nginx

  • 下载后解压
  • 将编译好的的dist\Crm文件夹下的所有文件复制到nginx-1.26.2\html文件夹下,并覆盖原有文件

修改配置文件

打开nginx-1.26.2\conf\nginx.conf文件,做以下配置

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       1142;  // 监视的端口
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;  // 程序入口
	          try_files $uri $uri/ /index.html =404; // 解决刷新页面时出现404错误问题
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

开启nginx

双击nginx-1.26.2\nginx.exe文件,会有命令窗口弹出并消失,则nginx开启成功。在任务管理器中可以看到该进程。

标签:environment,IIS,部署,SWKJ,Abp,nginx,文件夹,Angular,CRM
From: https://www.cnblogs.com/shipengfei/p/18614100

相关文章

  • 东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
    一、软件版本操作系统:CentOSLinuxrelease7.5.1804(Core)JDK:11.0.18东方通:TongWeb7.0.4.9M4SuperMapiServer:11.2.1JDK和TongWeb软件分享:链接:https://pan.baidu.com/s/1HGDTPnPID0PEOMbg3FjTVQ?pwd=bh8v提取码:bh8v东方通软件许可请从其官网申请二、东方通......
  • springboot毕设校园二手交易平台论文+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着消费水平的提升以及消费观念的转变,大学生群体中产生了大量的闲置物品。大学生容易受到潮流影响,消费需求较为旺盛,但经济未完全独立,资金主要来......
  • springboot毕设失踪人口寻找互助信息系统论文+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在现代社会,人口失踪事件频繁发生,这一现象给无数家庭带来了巨大的痛苦与困扰。失踪人口的家属往往陷入极度的焦虑、无助和绝望之中,他们在寻找亲人......
  • 华为云搭建部署Magento电商网站
    华为云搭建部署Magento电商网站3.1申请弹性云主机3.1.1购买云主机,选择对应的规格和镜像等3.1.2创建成功3.2实验环境配置3.2.1放行云主机绑定的安全组的规则,放行22、3306、80端口3.3安装配置LAMP平台3.3.1用xshell登录云主机3.3.2更新软件包yum-yupdat......
  • 【YashanDB知识库】YCP单机部署离线升级-rpc升级方式详细步骤
    前提:每个被纳管的主机必须开放9072端口1、先执行备份操作#ycm安装路径为默认/opt/ycmcd/opt/ycm/ycm/scripts[yashan@ecs-ba94-0001scripts]$sudo./backup.sh-nycm-i/opt/ycm/ycm-cyashandb-y/home/yashan/yasdb_home/yashandb/22.2.11.105--cata-log/home/ya......
  • 【YashanDB知识库】YCP高可用部署离线升级-rpc升级详细步骤
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7686586.html?templateId=1718516以23.2.4.100版本升级到23.2.11.100版本为例升级前先对YCP主备节点执行备份1、主节点执行/opt/ycm/ycm/scripts/backup.sh-nycm-i/opt/ycm/ycm-cyashandb-y/......
  • 在 Ubuntu 上部署 Terraform 管理平台:实现云基础设施的集中管理
    简介Terraform是一款开源基础架构自动化工具,可让您通过命令行界面部署和管理数百台服务器。使用Terraform,你可以通过在一个人类可读的文件中定义配置来构建、更改和管理你的基础架构。它支持许多云提供商,如AWS、Azure、GCP和阿里巴巴云。Terraform允许你自动配置服务......
  • 解决angular 路由缓存问题
    import{RouteReuseStrategy,DefaultUrlSerializer,ActivatedRouteSnapshot,DetachedRouteHandle,Route}from'@angular/router';import{ComponentRef}from'@angular/core';exportclassSimpleReuseStrategyimplementsRouteReuseStrate......
  • 828华为云征文-基于Flexus云服务器X实例的应用场景-部署动态域名神器lucky
    ......
  • 私有化部署视频平台EasyCVR解决了网页端实时播放RTSP视频流的局限性
    在当今数字化时代,视频监控系统已成为安全保障的重要组成部分。然而,对于希望在网页端实现视频监控流媒体播放的用户来说,RTSP协议的兼容性问题常常成为一个难题。RTSP是一种网络控制协议,常用于流媒体数据的传输,但它并不被HTML5Video元素直接支持。幸运的是,随着技术的发展,我们已经有......