“从部署到优化,打造高效会议管理系统“

news2024/9/23 5:18:32

目录

  • 引言
  • 一、部署单机项目 - 会议OA
    • 1.1 硬件和软件环境准备
    • 1.2 检查项目
    • 1.3 系统部署
      • 1.后端部署
  • 二、部署前后端分离项目 - SPA项目
    • 后端部署
    • 2.前端部署
  • 总结

引言

在现代化办公环境中,会议是组织沟通、决策和合作的重要方式之一。为了提高会议的效率和质量,许多企业选择部署会议OA系统来实现会议管理的自动化和数字化。本博客将介绍如何部署和优化会议OA系统,并探讨前后端分离的SPA项目在此过程中的应用。

一、部署单机项目 - 会议OA

1.1 硬件和软件环境准备

在部署会议OA系统之前,需要准备适当的硬件和软件环境。这包括选择合适的服务器、操作系统、数据库以及相关的配置和安装。

1.2 检查项目

  • 准备好项目文件
  • 在本地的MySQL检查sql文件有误问题
  • 打开Tomcat服务器将war包放到Tomcat文件夹里的webapps包中打开服务、运行项目并检查是否能运行

1.3 系统部署

1.后端部署

1.MySQL部署

  • 利用本机服务器远程操控部署的MySQL
  • 新建项目对应的数据库
    在这里插入图片描述
  • 运行SQL文件
    在这里插入图片描述

2.Tomcat服务器部署

  • 将war包文件放到Tomcat的webapps中
  • 启动项目
  • 更改confi.properties配置文件(更改连接数据库密码与服务器一致)

在这里插入图片描述

  • 重启Tomcat
  • 完成
  • 效果展示在这里插入图片描述

二、部署前后端分离项目 - SPA项目

后端部署

  1. 在本地检查后台项目能否正常运行

  2. 在本地检查前端项目能否正常运行

  3. 开始部署

  4. 在本地连接服务器的数据库新建部署项目对应的配置文件中的数据库名称(我的为vue)
    在这里插入图片描述

  5. 运行SQL文件
    在这里插入图片描述

  6. 将war项目放到webapps中

  7. 更改配置文件jdbc.Driver密码在这里插入图片描述

  8. 启动项目(后台准备成功)
    在这里插入图片描述

2.前端部署

  1. 下载node.js前端服务器

  2. 将文件解压到指定位置(例如:D:\initPath),并在解压后的目录下建立node_global和node_cache这两个目录

  3. 配置环境变量在这里插入图片描述
    path+=;%NODE_HOME%;%NODE_HOME\node_global%;

  4. cmd进入node -v 检查
    在这里插入图片描述

  5. 配置npm全局模块路径和cache默认安装位置
    打开cmd,分开执行如下命令:
    npm config set cache “C:\software\node-v18.16.1-win-x64\node-v18.16.1-win-x64”
    npm config set prefix “C:\software\node-v18.16.1-win-x64\node-v18.16.1-win-x64”

  6. 设置淘宝源
    npm config set registry https://registry.npm.taobao.org/

  7. 启动spa项目(启动成功)
    在这里插入图片描述
    但是服务端的前台客户端目前访问不了
    原因是node.js中spa中做了限制
    限制类似于MSQL中localhost设置,没有被解析成ip

实施方式解决问题
在服务器架设反向代理服务器,端号为80。
宿主机通过访问80,80访问8081就可以访问到了

配置


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           proxy_pass   http://localhost:8081;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

打开程序
宿主机此刻就能访问了

开发方式解决问题

  1. 关闭前端
  2. 找到C:\java\qhspa\spa\config下的index.js
  3. Ctrl+F找到localhost 改为 0.0.0.0 通用的意思
  4. 保存,重启前端项目,就可以访问了

在这里插入图片描述

总结

本博客详细介绍了如何部署会议OA系统和前后端分离的SPA项目。通过对系统需求分析、硬件软件环境准备、数据库设计与迁移、系统部署与测试的讲解,读者可以获得部署单机项目的全面指导。同时,通过对前后端分离架构概述、前端框架选择与开发、后端API设计与开发和系统集成与部署的讲解,读者可以了解前后端分离项目的实施过程。通过本文的学习,读者将掌握如何打造高效的会议管理系统,并能够根据实际情况进行优化和拓展,以满足企业的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL-DQL【数据查询语言】(图码结合)

目录 一.DQL的定义 二.DQL—语法 三.DQL—基础查询(SELECT.. FROM) 👉查询多个字段 👉设置别名 👉去除重复记录 准备工作(建表,添加数据) &DQL----基本查询的案例 五.DQL—条件查询(WHERE) 5.1 语法: 5…

基于 C# 实现样式与数据分离的打印方案

对于八月份的印象,我发现大部分都留给了出差。而九月初出差回来,我便立马投入了新项目的研发工作。因此,无论是中秋节还是国庆节,在这一连串忙碌的日子里,无不充满着仓促的气息。王北洛说,“活着不就是仓促…

数字化转型系列主题:数据中台知识体系

当前,大部分企业不再建设从源数据采集到分析应用的烟囱式系统,更倾向于数据集中采集、存储,并应用分层建设。这种方式一方面有利于应用系统的快速部署,另一方面也保证了数据的集中管理与运营,体现数据的资产、资源属性…

主动调度是如何发生的

计算机主要处理计算、网络、存储三个方面。计算主要是 CPU 和内存的合作;网络和存储则多是和外部设备的合作;在操作外部设备的时候,往往需要让出 CPU,就像上面两段代码一样,选择调用 schedule() 函数。 上下文切换主要…

初识《时间复杂度和空间复杂度》

目录 前言: 关于数据结构与算法 1.什么是数据结构? 2.什么是算法? 3.数据结构和算法的重要性 算法效率是什么? 1.怎样衡量一个算法的好坏呢? 2.算法的复杂度是个什么? 时间复杂度 1.时间复杂度的概…

Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin

Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import com.b…

RK3568-pcie接口

pcie接口与sata接口 pcie总线pcie总线pcie控制器sata控制器nvme设备sata设备nvme协议ahci协议m-key接口b-key接口RC模式和EP模式 RC和EP分别对应主模式和从模式,普通的PCI RC主模式可以用于连接PCI-E以太网芯片或PCI-E的硬盘等外设。 RC模式使用外设一般都有LINUX驱动程序,安…

LLM系列 | 22 : Code Llama实战(下篇):本地部署、量化及GPT-4对比

引言 模型简介 依赖安装 模型inference 代码补全 4-bit版模型 代码填充 指令编码 Code Llama vs ChatGPT vs GPT4 小结 引言 青山隐隐水迢迢,秋尽江南草未凋。 小伙伴们好,我是《小窗幽记机器学习》的小编:卖热干面的小女孩。紧接…

36基于matlab的对分解层数和惩罚因子进行优化

基于matlab的对分解层数和惩罚因子进行优化。蚁狮优化算法优化VMD,算术优化算法优化VMD,遗传优化算法优化VMD,灰狼优化算法优化VMD,海洋捕食者优化算法优化VMD,粒子群优化VMD,麻雀优化算法优化VMD,鲸鱼优化…

如何使用 nvm-windows 这个工具来管理你电脑上的Node.js版本

nvm-windows 是一个用于管理在 Windows 上安装的多个 Node.js 版本的工具。以下是安装和使用 nvm-windows 的步骤: 第1步:下载 nvm-windows 访问 nvm-windows 的 GitHub发布页面.下载最新版本的 nvm-setup.zip 文件。 第2步:安装 nvm-wind…

KV STUDIO的安装与实践(一)

目录 什么是KV STUDIO? 如何安装KV STUDIO? 如何学习与使用KV STUDIO(在现实中的应用)? 应用一(在现实生活中机器内部plc的读取与替换) 读取 KV STUDIO实现显示器的检测!&#…

微信小程序发货信息录入

微信小程序发货信息录入 一、发货信息录入接口 1、 用户交易后,默认资金将会进入冻结状态,开发者在发货后,需要在小程序平台录入相关发货信息,平台会将发货信息以消息的形式推送给购买的微信用户。 2、 如果你已经录入发货信息…

lossBN

still tips for learning classification and regression关于softmax的引入和作用分类问题损失函数 - MSE & Cross-entropy⭐Batch Normalization(BN)⭐想法:直接改error surface的landscape,把山铲平feature normalization那…

夯实c语言基础

夯实c语言基础 转义字符 • \? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。 • \ :⽤于表⽰字符常量 • \" :⽤于表⽰⼀个字符串内部的双引号 • \\ :⽤于表…

分享微信卸载重装恢复记录的3个方法!

微信是一款功能丰富、便捷实用的通信应用程序,为用户提供了方便、快速的即时通讯功能。无论您身在何处,通过微信,您可以轻松与家人、朋友保持紧密联系。有时候,为了能扩大手机内存空间,一些小伙伴可能会选择把微信卸载…

Sql Server中的表组织和索引组织(聚集索引结构,非聚集索引结构,堆结构)

正文 SqlServer用三种方法来组织其分区中的数据或索引页: 1、聚集索引结构 聚集索引是按B树结构进行组织的,B树中的每一页称为一个索引节点。每个索引行包含一个键值和一个指针。指针指向B树上的某一中间级页(比如根节点指向中间级节点中的…

【软考系统架构设计师】2023年系统架构师冲刺模拟习题之《软件工程》

在软考中软件工程模块主要包含以下考点: 文章目录 软件过程模型🌟🌟🌟🌟逆向工程🌟基于构件的软件工程🌟🌟软件开发与软件设计与维护净室软件工程软件模型软件需求 软件过程模型&am…

Makefile 基础教程:从零开始学习

在软件开发过程中,Makefile是一个非常重要的工具,它可以帮助我们自动构建程序,管理程序依赖关系,提高开发效率。本篇博客将从基础开始,介绍Makefile的相关知识,帮助大家快速掌握Makefile的使用方法 Makefil…

专转本VS工作,两年后有什么区别?

很多同学在面对“是否要专转本”这件事上,还在摇摆不定,抱着不转本就工作的想法,觉得“工作赚钱”会更好。选择转本还是进入社会工作,这可能是每个大三生都有过思索的。之所以纠结,无非就是想要提升学历但害怕考不上&a…

【Javascript】ajax(阿甲克斯)

目录 什么是ajax? 同步与异步 原理 注意 写一个ajax请求 创建ajax对象 设置请求方式和地址 发送请求 设置响应HTTP请求状态变化的函数 什么是ajax? 是基于javascript的一种用于创建快速动态网页的技术,是一种在无需重新加载整个网页的情况下&#xff0c…