部署无鱼工时系统

公司一个部门是做外包的,经常要项目组报工时记录给甲方,之前一直使用excel方式,最近要使用无鱼工时系统,准备部署一个。

下面是我的部署手记-超详细的介绍了这个项目的部署流程到最后运行起来。

1.项目介绍

无鱼项目工时系统,是一款开源的轻量级项目工时管理系统,是企业进行项工时管理统计的推荐选择。

下载地址:
https://gitee.com/wy-soft/wyproject/releases

2.安装总述

文档以工程部署在ubuntu部署为例进行说明。中间件采用docker方式安装。总体需要安装:docker、mariaDB、redis5.0、nginx。

环境需要:jdk1.8

所需工具:ubuntu系统服务器一台,Xshell软件, navcat数据库链接工具。

2.0 关闭防火墙

systemctl stop ufw

2.1 更新安装源

备份原文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改源配置文件

vi /etc/apt/sources.list

推荐使用清华源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

然后执行更新

apt update -yapt upgrade

2.1 安装jdk

apt install openjdk-8-jdk-headless

2.2 安装docker

方案1使用官方脚本

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

方案2 使用apt

 apt install docker-ce docker-ce-cli containerd.io

这里我们使用方式1

验证是否安装成功

docker version

显示如下说明已经安装完成。

启动docker

systemctl start docker

设置docker开机自启动(可选)

systemctl enable docker

2.3 安装数据库 mariaDB,也可选择使用mysql,功能是一样的。

拉取镜像

docker pull mariadb

如果拉取太慢,可以使用ctrl +c 中断,更换一下docker的镜像源再继续。
常用源
Docker中国区官方镜像:

https://registry.docker-cn.com

网易:

http://hub-mirror.c.163.com

ustc :

https://docker.mirrors.ustc.edu.cn

中国科技大学:

https://docker.mirrors.ustc.edu.cn

或者使用阿里云的 专属Docker加速器地址

修改源

vim /etc/docker/daemon.json

添加内容

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

重启docker

systemctl restart docker

更换源之后再执行拉取

docker pull mariadb

明显速度快很多

创建容器挂载路径

mkdir -p /usr/local/wuyu/mariadb/data   &&    mkdir -p /usr/local/wuyu/mariadb/logs  &&   mkdir -p /usr/local/wuyu/mariadb/conf

启动容器, 设置数据库密码为password

docker run -d -p 3306:3306 --name wuyu-mariadb  -v /usr/local/wuyu/mariadb/data:/var/lib/mysql   -v /usr/local/wuyu/mariadb/logs:/var/log/mysql   --privileged=true --restart=always   -e MYSQL_ROOT_PASSWORD=password  mariadb

使用navicat 连接数据库

创建数据库
数据库名:
wy_project
字符集
utf8mb4
排序规则
utf8mb4_general_ci

下载sql文件,并导入
码云下载地址: https://gitee.com/wy-soft/wyproject/releases/tag/wyproject_all-0.1

在 wy_project 上 右键, 选择 运行sql,如果按钮为灰,则需要点双击一下打开 数据库,再右键。

将下载的文件中的 wy_project_init.sql 导入到数据库中。

执行完后,关闭窗口,在数据库名称上右键刷新可看见新建的表。

2.5.安装redis

拉取镜像

docker pull redis:5.0.5

创建挂载路径并授权

mkdir -p /usr/local/wuyu/redis5.0/data   &&  mkdir -p /usr/local/wuyu/redis5.0/logs  &&  mkdir -p /usr/local/wuyu/redis5.0/confchmod -R 755 /usr/local/wuyu/redis5.0

编辑配置文件

vi /usr/local/wuyu/redis5.0/conf/redis.conf

粘贴内容

# 默认为yes,开启保护模式,限制为本地访问protected-mode no# 默认为no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败daemonize nodatabases 16# 输入本地redis数据库存放文件夹(建议在docker环境中暂时不修改)dir  ./# redis持久化(可选)appendonly yes# 设置密码requirepass password

启动redis

docker run -d -p 6380:6379  --name redis  -v /usr/local/wuyu/redis5.0/conf/redis.conf:/etc/redis/redis.conf  -v /usr/local/wuyu/redis5.0/data:/data --restart=always  redis:5.0.5 redis-server /etc/redis/redis.conf

查看镜像运行情况

docker ps

如果启动有问题,请查看log进行纠错
方法是
docker log + 镜像名称
例如 docker logs redis

2.6.安装nginx
nginx 有三种方法

  1. 编译安装, 从网上下载nginx源码,进行编译后安装
  2. 使用apt-get 安装
  3. 使用docker安装。

编译安装的好处是可以自己制定nginx安装的位置和路径,缺点是需要安装一堆依赖包以及编译库,并且需要编译,过程比较慢。
使用apt-get nginx的安装位置和配置文件都是默认了,不是很方面进行管理。
docker方式是虚拟化方式,本次我们采用docker方式安装

拉取镜像

docker pull nginx

创建挂载路径

mkdir -p /usr/local/wuyu/nginx/conf  &&  mkdir -p /usr/local/wuyu/nginx/logs  &&  mkdir -p /usr/local/wuyu/nginx/www  &&  mkdir -p /usr/local/wuyu/nginx/conf.d

这里容易出现一个问题,如果直接创建容器,虽然会创建成功,但是nginx运行不起来,会报错。

因此,我们需要先把工程文件放好位置
下载nginx 配置文件,并放到nginx配置目录下

wget  https://gitee.com/wy-soft/wyproject/releases/download/wyproject_all-0.1/wy_nginx.conf
vi  wy_nginx.conf

需要修改两处地方
1/ root 路径为 /usr/share/nginx/html
2/ locahost 改成服务器的ip (容器里无法通过localhost 访问其他容器 或者宿主机)


修改后,放到指定目录

mv  wy_nginx.conf /usr/local/wuyu/nginx/conf.d/default.conf

下载前端工程文件

wget  https://gitee.com/wy-soft/wyproject/releases/download/wyproject_all-0.1/wy_web.zip# 解压并移动
unzip wy_web.zip
mv  wy_web www
mv  www /usr/local/wuyu/nginx/

这时候创建容器,就不会出错了。

创建容器

docker run -d -p 80:80 --name nginx -v /usr/local/wuyu/nginx/www:/usr/share/nginx/html -v /usr/local/wuyu/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx   --privileged=true --restart=always nginx

访问地址,因此我们这时候没有部署后端工程,所以会报404,先不要管,继续进行部署。

部署后端程序

#创建文件目录mkdir -p /usr/local/wuyu/app  &&  mkdir -p /usr/local/wuyu/app/logs# 进入目录
cd  /usr/local/wuyu/app

下载后端程序

wget  https://gitee.com/wy-soft/wyproject/releases/download/wyproject_all-0.1/wy_project.jarchmod +x  wy_project.jar下载后端控制脚本
wget https://gitee.com/wy-soft/wyproject/releases/download/wyproject_all-0.1/wy_ctl.shchmod +x wy_ctl.sh

修改配置信息,主要是mysql和redis的密码,

修改成password (或者自己设置的)

启动

./wy_ctl.sh start

这里又会出现一个错误
提示bash: ./wy_ctl.sh: /bin/sh^M: bad interpreter: No such file or directory

这是因为脚本的编码问题,可以把文档复制出来后,使用vi 创建一个同名文件 把内容复制进去。
或者下载工程里最新的文件。

wget https://gitee.com/wy-soft/wyproject/blob/master/wy_ctl.sh
chmox + wy_ctl.sh

然后修改里面的内容

也可能出现 ./wy_ctl.sh: 40: Syntax error: “(” unexpected

这是,Ubuntu 为加快开机速度,默认将root指向dash,解决办法就是将dash指向取消

# root 账号输入
dpkg-reconfigure dash# 非root 账号 输入
sudo dpkg-reconfigure dash

选择 no, 之后
然后重新启动

./wy_ctl.sh start

查看启动日志

tail -f  /usr/local/wuyu/app/logs/server.log

看到最后提示工程启动成功,说明已经部署完成。

访问服务器的地址 192.168.128.129
使用admin 12345678 登录

3. 系统设置

点击管理, 选择 系统设置,填写公司的名称和logo

部署搞定。

下面创建角色/职位/人员之后就可以开始使用了。

部署无鱼工时系统,超详细教程,并成功部署相关推荐

  1. Docker最新超详细教程——安装与部署

    Docker最新超详细教程--安装与部署 安装Docker CentOS安装Docker 1. 卸载(可选) 2. 安装yum工具 3. 更新本地镜像源 4. 安装docker 5. 注意事项 关闭防 ...

  2. 二进制安装部署 4 kubernetes集群---超详细教程

    二进制安装部署kubernetes集群---超详细教程 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以 ...

  3. 推荐一个开源的项目工时系统:无鱼工时系统

    一.介绍 无鱼工时管理系统,是一款轻量级项目工时统计系统,可通过员工工时上报的方式,来记录项目所花费的工时,帮助企业进行项目工时统计.核算人工成本. 实时.动态.真实的展示项目投入. 二.系统定位 轻 ...

  4. 一键重装系统win10超详细教程

    ** 一键重装系统win10超详细教程--云骑士装机大师 ** win 10系统自推出以来大受用户追捧,不止启动速度飞快,界面简洁美观,还能兼容大量游戏,优点众多.许多朋友想要为电脑重装一个win 1 ...

  5. Linux系统双网卡聚合超详细教程

    Linux系统双网卡聚合超详细教程 将多个物理网卡聚合在一起,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 主要分 ...

  6. 手把手带你入门前端工程化——超详细教程(高级前端必备)

    本文将分成以下 7 个小节: 技术选型 统一规范 测试 部署 监控 性能优化 重构 部分小节提供了非常详细的实战教程,让大家动手实践. 另外我还写了一个前端工程化 demo 放在 github 上.这 ...

  7. 手把手带你入门前端工程化——超详细教程

    授权自@谭光志 链接:https://segmentfault.com/a/1190000037752931,也可点击阅读原文 本文将分成以下 7 个小节: 技术选型 统一规范 测试 部署 监控 性能 ...

  8. mysql 8.0.22_最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

    前言 前几天下载安装了最新版的MySQL 8.0.22,遇到了不少问题,参考了一些方法,最终得以解决.今天将自己的安装过程记录下来,希望对各位有所帮助. 一.MySQL 8.0.22官网下载 点击进入 ...

  9. 大数据平台Ambari2.7.4+HDP3.1.4安装(超详细教程)

    大数据平台Ambari2.7.4+HDP3.1.4安装(超详细教程) Ambari2.7.4+HDP3.1.4是最后一个免费版本,新版本需要授权. 因工作需要,安装大数据集群,了解到Ambari属于A ...

最新文章

  1. 神经网络其实和人一样懒惰,喜欢走捷径......
  2. 2015年6月9日_诗词学习
  3. 执行上下文(Exection Contexts)
  4. python url模块介绍_python 中 urlparse 模块介绍
  5. 禁售苹果手机_苹果、华为供应商工厂突发火灾!浓烟冲天
  6. Python程序异常处理:try、except、else、finally,捕获指定异常类型、捕获多个异常类型、捕获所有异常类型、捕获异常信息、异常的传递、raise抛出自定义异常
  7. MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析
  8. 【干货】PEP8风格指南
  9. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could
  10. 鸿蒙系统非手机用,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  11. sqlmap绕过waf的脚本介绍(tamper脚本介绍)
  12. 黑鲨重装计算机安装无法继续,黑鲨装机大师常见问题详解
  13. 微信小程序:小程序开发者注册步骤
  14. 阿里实现Redis亿级存储的方案
  15. 宋宝华:LEP(Linux易用剖析器) 是什么,为什么以及怎么办(2)
  16. 路由交换技术实战七 FR 网络中配置 OSPF( 完成版 )
  17. 百度网盘不限速下载网页版
  18. 让word中插入的图片不失真,图像保持原清晰度
  19. @SuppressWarnings的使用、作用、用法
  20. 柔性作业车间调度问题研究-思考

热门文章

  1. 递归查询三种实现方式
  2. 论文笔记 Object-Aware Instance Labeling for Weakly Supervised Object Detection - ICCV 2019
  3. 12接口扩展无忧,存储显示充电都拉满,ORICO XDR扩展坞上手
  4. 多彩的书写工具,画图写字更好看,米家液晶小黑板多彩版上手
  5. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
  6. 推荐系统经典算法之——MF(矩阵分解)
  7. abb机器人离线编程软件叫做_工业机器人离线编程(ABB)1-2 常用离线编程软件介绍.pptx...
  8. 【Halcon 计算点到直线和点到直线延长线的距离】
  9. CAD最常用的快捷键大全来啦
  10. 安全好用的快充头,iPhone 13的好搭档,RAVPOWER 20W充电器上手