记一次悟空CRM ubuntu服务器环境搭建

2023-11-19

linux服务器创建用户并设置工作目录

为什么这么做,因为服务器root权限过大,如果误操作导致不可估计的后果,建议创建一个用户,在当前用户的home下运行项目,该用户在其他目录下没有权限,所以可防止误操作,并且很多第三方插件不允许直接用root运行(比如elasticsearch,mysql等)。

创建用户并同时创建用户的home

useradd -d /opt/gongji -m gongji

给新创建的用户创建密码,这样我们可以用这个用户登录系统,并直接进入到工作目录

passwd gongji

回车后系统会提示输入密码并且需要再次确认密码

关于用户及用户组的详细操作可以参考:Linux下创建用户和用户组_左撇子帕布-CSDN博客_linux 创建用户和用户组

安装数据库

数据库是通过宝塔面板安装的,自己安装mysql网上教程不要太多

安装完成数据库后用源码DB中的sql语句初始化数据库

安装redis

下载redis,地址:http://download.redis.io/releases/redis-5.0.5.tar.gz

解压到 /opt/gongji/redis-5.0.5

切换到 root 用户 在/opt/gongji/redis-5.0.5 目录下执行

sudo make

将redis的命令安装到/usr/bin/目录,并启动

sudo make install
redis-server &

修改密码(默认不需要密码):编辑redis.conf,找到 # requirepass foobared, 去掉#,并将foobared改成自己的密码。

开启远程访问:注释掉绑定地址#bind 127.0.0.1

将redis的命令安装到/usr/bin/目录

sudo make install

关于redis操作,参考: Ubuntu安装Redis及使用_hzlarm的博客-CSDN博客_ubuntu安装redis

安装 elasticsearch

   有很多直接用linux wget等一键安装,但是我在安装过程中遇到各种系统缺库的问题,还是用最原始的下载压缩包解压方法吧

   下载tar包,地址:Elasticsearch 6.8.6 | Elastic

   上传到服务器并且解压到/opt/gongji/elasticsearch-6.8.6

   下载analysis-icu-6.8.6 分词器,并解压到 plugins 目录下,解压后目录结构 /opt/gongji/elasticsearch-6.8.6/plugins/analysis-icu-6.8.6

修改jvm.options

-Xms4g
-Xmx4g

修改elasticsearch.yml

cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"

启动elasticsearch 并且后台运行

cd /opt/gongji/elasticsearch-6.8.6/bin/
./elasticsearch -d

安装nacos

同样下载tar包解压的方式,解压目录

下载地址:Release 1.2.1(Mar 31th, 2020) · alibaba/nacos · GitHub

解压目录:/opt/gongji/nacos-server-1.2.1

修改配置文件配置数据库,conf/application.properties

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=你的用户名
db.password=你的密码

单机模式运行nacos

cd /opt/gongji/nacos-server-1.2.1/bin
sh startup.sh -m standalone

安装seata

同样下载tar包解压的方式,解压目录

下载地址:Seata Activity

解压目录:/opt/gongji/nacos-server-1.2.1

修改配置文件,conf/file.conf

 dbType = "mysql"
 driverClassName = "com.mysql.jdbc.Driver"
 url = "jdbc:mysql://127.0.0.1:3306/seata"
 user = "你的用户名"
 password = "你的密码"

后台运行seata

cd /opt/gongji/seata-server-1.2.0/bin/
./seata-server.sh &

插播seata工作原理: 阿里开源的分布式事务框架 Seata

部署应用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记一次悟空CRM ubuntu服务器环境搭建 的相关文章

  • 删除 PriorityQueue 的顶部?

    假设我使用 Java util 中的 PriorityQueue 类 我想从 PriorityQueue pq 中删除最大的数字 我们假设它位于队列的头部 下面的工作会起作用吗 1 int head pq peek pq dequeue h
  • 如何使用 hibernate 过滤器过滤 hibernate 中的实体

    我需要过滤对象列表中的实体 例如 public class Student private int id private List
  • GWT 代码服务器在使用 Maven 原型的新生成的项目中找不到模块

    我已经使用 GWT 和 eclipse 一段时间了 我想玩一下 Maven 和 GWT 插件 gwt maven plugin 在此输入链接描述 http mojo codehaus org gwt maven plugin 我尝试在 Ec
  • 没有字符串参数构造函数/工厂方法可以从字符串值 ('') 反序列化

    我在使用时遇到了 json 解析问题ObjectMapper类来自com fasterxml jackson databind包 我得到的错误是 com fasterxml jackson databind JsonMappingExcep
  • java代码的等效vb代码

    谁能告诉我这段Java代码到底做了什么 SecureRandom random SecureRandom getInstance SHA1PRNG byte bytes new byte 20 synchronized random ran
  • Maven 依赖冲突:org.w3c.dom.ElementTraversal

    我有一个 Java 代码库 它使用 Maven 进行依赖项解析并在 CI 上运行测试 经过最近的一批开发 大到足以很难识别重大更改 我的一些测试现在在通过 Maven 运行时失败了NoClassDefFoundError for org w
  • 使用 spring mvc 的多个域

    假设我有一个应用程序必须缩短 URL 但还要执行其他操作 喜欢google com and goo gl or facebook com and fb me 部署两个应用程序很容易 但 目前 仅部署一个应用程序更简单 使用 spring 和
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 如何删除 Spring 的 RestTemplate 添加的某些 HTTP 标头?

    我在远程服务方面遇到问题 我无法控制对使用 Spring 的 RestTemplate 发送的请求进行 HTTP 400 响应 使用发送的请求curl但被接受了 所以我将它们与通过 RestTemplate 发送的内容进行了比较 特别是 S
  • 从 Spring 启动运行 Java 类

    我使用的是Java8和Spring4 3 1 我有一个 Java Spring 应用程序托管由浏览器和移动应用程序客户端访问的 RESTfult 服务 其次 我编写了一个侦听事件的聊天服务器 socket io 来自客户 该聊天服务器正在从
  • 访问 JAR 资源

    我有一个jar包含我想要分发的资源 主要是缓存 日志记录等配置 的文件 我对这些资源的相对路径有问题 所以我做了我在另一个 stackoverflow 问题中发现的问题 该问题说这是一种有效的方法 ClassInTheSamePackage
  • 使用用户名和密码登录 LinkedIn 失败

    LinkedIn使用oauth登录其api 服务器中无法登录api 我尝试使用http请求登录linkedin并获取oauth verifier 但我得到了这样的回应 很抱歉 出现了问题 你的申请 请确保您 启用cookie并重试 或点击此
  • 无法读取使用 DataOutputStream 发送的号码

    这是我的客户端代码 Random rand new Random int n rand nextInt 50 1 DataInputStream dis new DataInputStream socket getInputStream D
  • 找不到满足版本限制的“com.google.code.findbugs:jsr305”版本

    当生成签名的 APK 进行发布时 我收到此错误消息 Cannot find a version of com google code findbugs jsr305 that satisfies the version constraint
  • 找不到 `activityViewModels()` Hilt Android

    我在我的项目中使用 Hilt 和 MVVM 我想要一个viewModel from activityViewModel在 2 个活动中使用相同的内容 但我的 Android Studio 说未解析的参考 我的应用程序 build gradl
  • 尝试 Catch 性能 Java

    当捕获异常而不是进行检查时 try catch 需要多长时间 以纳秒为单位 假设消息具有用于查找的 HashMap 类型性能 try timestamp message getLongField MessageField TIMESTAMP
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言
  • 如何在android中使用Room Persistence ORM工具实现created_at和updated_at列

    我该如何实施created at and updated at在Android中使用Room Persistence ORM工具的列 可以在创建或更新表中的行时自动更新时间戳 我研究了很多网站 但仍然没有找到任何可以处理的结果middlew
  • Centos/Linux 将 logrotate 设置为所有日志的最大文件大小

    我们使用 logrotate 并且它每天运行 现在我们遇到了一些情况 日志显着增长 阅读 gigabaytes 并杀死我们的服务器 所以现在我们想为日志设置最大文件大小 我可以将其添加到 logrotate conf 中吗 size 50M

随机推荐

  • ubuntu20编译运行orb-slam3踩坑

    orb3 编译网上教程很多 写一下自己安装编译过程中踩的坑 一个半星期 终于可以跑demo了 1 出现如下问题 或者在Build target g2o时 卡住 make 2 CMakeFiles ORB SLAM3 dir build ma
  • Vue上传文件到springboot

  • Android中JNI在C/C++中的区别

    一 一个疑问 在进行JNI编程中 同样一个函数FindClass C和C 中有不同的用法 如果是C 要用 env gt FindClass str 如果是C要用 env gt FindClass env str 类似的区别几乎涉及到每一个结
  • 10 财政收入影响因素分析及预测模型

    4 10 财政收入影响因素分析及预测模型 10 1背景与挖掘目标 本案例通过研究发现影响目前以及未来地方财源建设的因素 并对其进行深入分析 提出对该市地方财源优化的具体建议 供政府决策参考 同时为其他发展较快的城市提供借鉴 本案例对1994
  • 1.Cesium介绍及环境配置

    前言 鸽了半年 flag立的太多 稿子存了100多篇 都没有开始排版整理 这些天正好学习cesium 决定每天更新一篇 提提神 一 Cesium简介 Cesium是一个用于显示三维地球的开源库 旨在释放3D数据的力量 它基于WebGL技术
  • Kmeans K均值聚类,OpenCV实现

    Clustering 聚类 kmeans k均值聚类 Finds centers of clusters and groups input samples around the clusters 寻找clusters的中心 并且将输入的样本
  • java 管程

    管程即Monitor 监视器 也叫锁 Monitor其实是一种同步机制 保证只有一个线程可以访问被保护的数据和代码 JVM中同步是基于进入和退出监视器对象 Monitor 来实现的 每个对象实例都会有一个Monitor对象 和java对象一
  • public static void main(String[] args) { //填入通过分享获取到的抖音视频地址 String videoUrl = getVid...

    这段代码的作用是从抖音 douyin 分享链接中获取视频的无水印播放地址 首先 它通过调用 HttpRequest get url 方法获取抖音视频的分享页面的 HTML 源代码 然后 通过调用 sub 方法并传入 HTML 源代码 开始字
  • 华为面试之Hr面,这个套路把我坑惨了......

    作为技术类的测试工程师面试 往往要经过多次面试才能拿到心仪的offer 这里面有技术一面 二面 甚至总监面等 还有一个必不可少的就是HR面 一般HR会出现在你面试的最前面和最后面 前面是了解你的基本情况 后面就是你已经通过了技术面试 他是来
  • Python3多进程(mutiprocessing)

    和Threading的比较 多进程 Multiprocessing 和多线程 threading 类似 他们都是在 python 中用来并行运算的 不过既然有了 threading 为什么 Python 还要出一个 multiprocess
  • linux文件权限说明(drwxr-xr-x)

    在linux中查看文件的时候 在每一行的最前面会有这样的一串字符 drwxr x 如下面的样例 drwxr x 2 root root 37 Apr 18 10 50 data rw r r 1 root root 68549 Sep 26
  • 95-34-030-Context-DefaultChannelHandlerContext

    文章目录 1 概述 2 继承体系 3 源码 1 概述 2 继承体系 3 源码 final class DefaultChannelHandlerContext
  • 写个剧本,关于风花雪夜的

    起 一个寒冷的晚上 一位年轻的男子走在冰冷的雪地上 他只带着一把手电筒和一双雪靴 行走在漆黑的夜晚 细节 他看到了一片白色的风景 突然 一股强烈的风吹过 让他感觉到了一股温暖 他看到了一片花海 花朵们被风吹得起舞 像美丽的舞蹈一样 它们的芳
  • 错误码:events.js:141 throw er; // Unhandled ‘error’ event—解决办法

    错误码 events js 141 throw er Unhandled error event 解决办法 具体错误信息 dev events js 141 throw er Unhandled error event Error list
  • web做题记录(buuoj,jarvis,攻防世界,bugku,hackme)

    web做题笔记 文章目录 web做题笔记 buuoj easy tornado 随便注 warmup easysql 高明的黑客 jarvisoj re flag在管理员手上 api调用 chopper 图片上传漏洞 inject web
  • 福禄克DSX2-5000/8000 CH测试结果中为什么标记蓝色“i”?

    我们在使用福禄克线缆测试仪DSX2 5000 CH DSX2 8000 CH的过程中遇见过很多测试结果的测试参数后面标记着蓝色的 i information 而不是失败的红色叉号 也不是Pass的绿色对号 这是因为所选测试限制没有该测试的限
  • Django

    HTTP无状态协议 是指协议对于交互性场景没有记忆能力 每次客户端检索网页时 客户端打开一个单独的连接到 Web 服务器 服务器会自动不保留之前客户端请求的任何记录 创建用户对象的三种方法 create 创建一个普通用户 密码是明文的 cr
  • React-(4)React中的事件绑定

    React中的事件绑定 在 React 组件中 每个方法的上下文都会指向该组件的实例 即自动绑定 this 为当前组件 而且 React 还会对这种引用进行缓存 以达到 CPU 和内存的最优化 在使用 ES6 classes 或者纯函数时
  • vue3 + vite自定义封装vue + element-ui 表格组件,发布到npm包的全过程。

    一 前言 当我们项目中用到的表格太多的话 就会导致我们的代码量一直增加 所以我们要封装一个公共得组件 通过传参引入来使用 下面这篇文章主要给大家介绍了关于vue3 vite自定义封装vue组件发布到npm包的相关资料 需要的朋友可以参考下
  • 记一次悟空CRM ubuntu服务器环境搭建

    linux服务器创建用户并设置工作目录 为什么这么做 因为服务器root权限过大 如果误操作导致不可估计的后果 建议创建一个用户 在当前用户的home下运行项目 该用户在其他目录下没有权限 所以可防止误操作 并且很多第三方插件不允许直接用r