• 架构——mysql、wiki、jira


    资源:
    mysql-connector-java-5.1.49-bin.jar
    atlassian-agent.jar

    docker部署mysql并配置

    # docker pull mysql:5.7
    # mkdir -p /data/mysql/{conf,data,logs}			# 分别用来存放mysql配置,mysql数据,mysql日志
    # vim /data/mysql/conf/my.cnf
    [mysqld]
    port=7001
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    init_connect='SET NAMES utf8
    default-storage-engine=INNODB
    character_set_server=utf8mb4
    innodb_default_row_format=DYNAMIC
    innodb_large_prefix=ON
    innodb_file_format=Barracuda
    innodb_log_file_size=2G
    
    # chmod 777 /data/mysql/logs/
    # docker run -itd --name mysql -p7001:7001 -v /data/mysql/conf/:/etc/mysql/conf.d -v /data/mysql/data/:/var/lib/mysql -v /data/mysql/logs/:/var/log/ -eMYSQL_ROOT_PASSWORD="my123456" mysql:5.7
    # docker exec -it mysql /bin/bash -c 'cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime'
    
    
    # docker exec -it mysql /bin/bash
    # mysql -uroot -pmy123456
    mysql> CREATE DATABASE jira CHARACTER SET utf8 COLLATE utf8_bin;
    mysql> grant all privileges on *.* to jirauser@"%" identified by "my123456";
    mysql> flush privileges;
    mysql> CREATE DATABASE wiki CHARACTER SET utf8 COLLATE utf8_bin;
    mysql> grant all privileges on *.* to wikiuser@"%" identified by "my123456";
    mysql> flush privileges;
    
    (可选)开启MySQL远程访问权限 允许远程连接
    mysql -u root -p			# 打开 mysql 数据库
    select * from user \G;		# 查看 user 数据表当前已有的数据
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my123456';		# 修改一条 root 数据,并刷新MySQL的系统权限相关表
    flush privileges;
    grant all privileges on *.* to root @"%" identified by "root";			# 或者使用 grant 命令重新创建一个用户
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    docker部署jira并配置

    # docker volume create --name jiraVolume
    # mkdir -p /data/jira-wiki/jira
    # touch /data/jira-wiki/jira/server.xml
    # docker run -d --name jira  --restart always -p 8080:8080 -e TZ="Asia/Shanghai"  -v /data/jira-wiki/jira/server.xml:/opt/atlassian/jira/conf/server.xml -v jiraVolume:/var/atlassian/application-data/jira  atlassian/jira-software
    
    # docker cp /data/jira-wiki/jira/mysql-connector-java-5.1.49-bin.jar jira:/opt/atlassian/jira/lib/
    # docker cp /data/jira-wiki/jira/atlassian-agent.jar jira:/opt/atlassian/jira/
    # docker exec -it jira /bin/bash
    # echo -e '\nexport JAVA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${JAVA_OPTS}"' >>  /opt/atlassian/jira/bin/setenv.sh
    # echo -e '\nexport CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >>  /opt/atlassian/jira/bin/setenv.sh
    # exit
    # docker restart jira
    
    配置好环境变量后重启容器,然后进入docker环境中。在脚本中执行atlassian-agent.jar得到授权码激活。
    # docker exec -it jira /bin/bash
    /opt/atlassian/jira/atlassian-jira/WEB-INF/lib# /opt/java/openjdk/bin/java -jar /opt/atlassian/jira/atlassian-agent.jar -p jira -m jira@jira.com -n jira -o http://192.168.30.33:8080 -s B7MG-E6WR-956N-E6U0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    问题记录及优化:

    问题一:进入主页创建项目报错:Error creating project, XSRF check failed 解决:配置代理nginx

        server {
            listen     80;
            server_name jira.****.cn;
            keepalive_timeout   70;
    
            location / {
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto https;
                proxy_pass http://127.0.0.1:8080;
                client_max_body_size 10M;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    问题二:点击返回主页图标后访问至http://127.0.0.1:8080,
    解决:设置——系统——编辑设置——基本URL修改为你想要的地址

    问题三:检查是否使用所需排序规则配置数据库和表格。Jira 不支持数据库排序规则“utf8_bin”和表排序规则“utf8_bin”。
    解决:修改数据库排序规则

    mysql> show create database jira;
    +----------+--------------------------------------------------------------------------------+
    | Database | Create Database                                                                |
    +----------+--------------------------------------------------------------------------------+
    | jira     | CREATE DATABASE `jira` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */ |
    +----------+--------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> ALTER DATABASE jira COLLATE utf8mb4_general_ci;
    Query OK, 1 row affected (0.00 sec)
    
    SELECT CONCAT('ALTER TABLE `',  table_name, '` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;')
    FROM information_schema.TABLES AS T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` AS C
    WHERE C.collation_name = T.table_collation
    AND T.table_schema = 'jira'
    AND
    (
        C.CHARACTER_SET_NAME != 'utf8mb4'
        OR
        C.COLLATION_NAME != 'utf8mb4_bin'
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    问题四:JIRA运行慢,修改JVM
    解决:

    # docker cp jira:/opt/atlassian/jira/bin/setenv.sh /data/jira-wiki/jira/
    # cp /data/jira-wiki/jira/setenv.sh /data/jira-wiki/jira/setenv.sh.220906bak
    # vim /data/jira-wiki/jira/setenv.sh
    : ${JVM_MINIMUM_MEMORY:=1024m}
    : ${JVM_MAXIMUM_MEMORY:=2048m}
    
    # docker cp /data/jira-wiki/jira/setenv.sh jira:/opt/atlassian/jira/bin/setenv.sh
    # docker restart jira 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    docker部署wiki并配置

    # mkdir /data/jira-wiki/wiki
    # touch /data/jira-wiki/wiki/server.xml
    # docker run --name=wiki --restart always -v /data/jira-wiki/wiki/:/var/atlassian/application-data/confluence/ -v /data/jira-wiki/wiki/server.xml:/opt/atlassian/confluence/conf/server.xml -d -p 8090:8090 -p 8091:8091 atlassian/confluence
    
    # docker cp /data/jira-wiki/jira/mysql-connector-java-5.1.49-bin.jar wiki:/opt/atlassian/confluence/confluence/WEB-INF/lib
    # docker cp /data/jira-wiki/jira/atlassian-agent.jar wiki:/opt/atlassian/confluence/
    # docker exec -it wiki /bin/bash
    # echo -e '\nexport JAVA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${JAVA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh
    # echo -e '\nexport CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >>  /opt/atlassian/confluence/bin/setenv.sh
    # exit
    # docker restart wiki
    
    配置好环境变量后重新docker,然后进入docker环境中。在脚本中执行atlassian-agent.jar得到授权码激活。
    # docker exec -it wiki /bin/bash
    root@0bd96b7ea26c:/opt/atlassian/confluence# /opt/java/openjdk/bin/java -jar /opt/atlassian/confluence/atlassian-agent.jar -p conf -m wiki@wiki.com -n wiki -o http://192.168.30.33:8090 -s BVQT-DHGG-MOXE-CC78
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    数据库必须使用“READ-COMMITED”作为默认隔离级别
    # vim /data/mysql/conf/my.cnf
    ……
    transaction-isolation=READ-COMMITTED
    
    # vim /data/jira-wiki/wiki/confluence.cfg.xml
      <properties>
        <property name="access.mode">READ_WRITE</property>			# 添加
        
    # docker restart mysql
    # docker restart wiki
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    报错:

    Cause

    • bundle [com.atlassian.plugins.authentication.atlassian-authentication-plugin]
    • Could not read fields for table AO_ED669C_IDP_CONFIG
    • Table ‘wiki.AO_ED669C_IDP_CONFIG’ doesn’t exist

    jira——wiki 链接

    wiki_web页——>设置——>应用程序链接——>创建链接——>填写对应信息,链接至jira

    docker限制容器内存

    # docker stop jira
    # docker update jira -m 4g --memory-swap -1			# 可使用内存=4g+swap分区内存
    # docker start jira
    
    • 1
    • 2
    • 3
  • 相关阅读:
    CSAPP Bomb Lab
    渗透测试漏洞挖掘技巧
    网络层概述
    unity实现Perlin噪声
    服务器给前端实时推送数据轻量化解决方案eventSource+Springboot
    Redis(十) - Redission原理与实践
    常见面试题整理(2022-11)
    Spring中的BeanFactory和ApplicationContext的区别
    请问我的电脑这是怎么了
    服务器重启后的故障原因排查
  • 原文地址:https://blog.csdn.net/weixin_45373345/article/details/126519665