架构——mysqlwikijira

Posted KFC质检员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构——mysqlwikijira相关的知识,希望对你有一定的参考价值。

资源:
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;

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
问题记录及优化:

问题一:进入主页创建项目报错: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;
        

问题二:点击返回主页图标后访问至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'
);

问题四: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 

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
数据库必须使用“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
报错:

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

架构设计杂谈005——架构分类

架构分类-1

没有统一的标准
有按实现层次划分的、有按关注方向划分的、有按软工阶段划分的、有按视图类型划分的、有按技术实现风格划分的……等等,当然有很多是交叉重叠的

按实现层次划分
●移动架构
●前端架构
●系统架构(应用架构,技术架构)
●平台架构
●应用集成架构
●数据库架构
●存储架构
●网络架构
……

架构分类-2

按关注方向划分
●业务架构
●应用架构
●技术架构
●开发架构
●数据库架构
●存储架构
●安全架构
●部署架构
●开放架构(OpenAPI架构)
……

架构分类-3

按软工阶段划分
●解决方案架构
●业务架构
●系统架构
●概念架构
●细化架构
●平台架构
●开发架构
●部署架构
●运维架构
……

架构分类-4

按软工阶段划分
●解决方案架构
●业务架构
●系统架构
●概念架构
●细化架构
●平台架构
●开发架构
●部署架构
●运维架构
……

架构分类-5

按技术实现风格划分
●分布式架构
●分层架构
●事件驱动架构
●微内核架构
●微服务架构
●SOA架构
●响应式架构
……

本文由微信公众号——架构设计一起学 推出,
可点击“阅读原文”,选择音频版,
听CC讲解本期内容!

以上是关于架构——mysqlwikijira的主要内容,如果未能解决你的问题,请参考以下文章

收藏 | 股权架构设计的五大好处!

从实践者的角度看软件架构的历史

ji中的函数

SQL查询根据生日计算ji

JS 中流程控制

Tian Ji -- The Horse Racing / HDU - 1052