CentOS 7上安装SonarQube10

在CentOS 7上安装SonarQube10并使用PostgreSQL作为数据库

⚠️ 重要注意事项

  1. 不再支持:MySQL 数据库(从 SonarQube 7.9 开始已移除)

  2. 数据库驱动:不需要手动安装,SonarQube 已包含

  3. 字符集:所有数据库必须使用 UTF-8 编码

  4. 权限:需要为 SonarQube 创建专用数据库用户

安装SonarQube(之前需要安装postgreSql)

安装SonarQube

yum install -y epel-release

创建sonarqube用户

sudo useradd sonarqube

创建系统用户和组

useradd -r -s /bin/bash sonarqube

sudo groupadd sonarqube

删除用户和组(如果需要)

sudo userdel -r sonarqube

sudo groupdel -f sonarqube

安装unzip(如果没有)

sudo yum install -y unzip

解压

unzip sonarqube-10.0.0.68432.zip

mv sonarqube-10.0.0.68432 sonarqube

设置权限

sudo chown -R sonarqube:sonarqube /opt/sonarqube

sudo chmod -R 755 /opt/sonarqube

配置系统参数

sudo vi /etc/security/limits.conf

sonarqube soft nofile 65536

sonarqube hard nofile 65536

sonarqube soft nproc 4096

sonarqube hard nproc 4096

修改sysctl配置

sudo vi /etc/sysctl.conf

vm.max_map_count=262144

fs.file-max=65536

应用配置:

sudo sysctl -p

创建Systemd服务

创建服务文件

sudo vi /etc/systemd/system/sonarqube.service

添加以下内容:

Unit

Description=SonarQube service

After=syslog.target network.target postgresql-14.service

Service

Type=forking

User=sonarqube

Group=sonarqube

PermissionsStartOnly=true

ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start

ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop

ExecReload=/opt/sonarqube/bin/linux-x86-64/sonar.sh restart

LimitNOFILE=65536

LimitNPROC=4096

Restart=on-failure

Install

WantedBy=multi-user.target

启动SonarQube

重新加载systemd

sudo systemctl daemon-reload

启动SonarQube服务

sudo systemctl start sonarqube

设置开机自启

sudo systemctl enable sonarqube

检查状态

sudo systemctl status sonarqube

查看日志

sudo tail -f /opt/sonarqube/logs/sonar.log

给sonarqube用户添加密码

sudo passwd sonarqube

wa123456

端口

sonar.web.port=9000

访问SonarQube

http://your-server-ip:9000

内存不足问题

编辑 vim /opt/sonarqube/conf/sonar.properties:

sonar.web.javaOpts=-Xmx2G -Xms128m -XX:+HeapDumpOnOutOfMemoryError

编辑服务文件

sudo systemctl edit sonarqube

添加以下内容来放宽启动限制

Service

StartLimitInterval=0

StartLimitBurst=0

Unit

StartLimitIntervalSec=0

Java not found. Please make sure that the environmental variable SONAR_JAVA_PATH 错误处理

编辑sonar.sh文件

sudo vi /opt/sonarqube/bin/linux-x86-64/sonar.sh

在顶部添加

SONAR_JAVA_PATH="$JAVA_HOME/bin/java"

登录 : http://192.168.88.128:9000/

默认用户名 admin

默认密码 admin

修改密码 :admin@123

相关推荐
M78佐菲8 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx8 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做8 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
一池秋_10 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇10 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
闲云野鹤在人间12 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
我命由我1234513 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
xx~t13 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
Uncertainty!!14 小时前
Linux 主机无法完成校园网认证排查记录:从 DHCP、ARP 到 Portal 认证流程分析
linux·运维·服务器
神威难绷泪14 小时前
Linux消息队列 & 共享内存 笔记
linux·消息队列·共享内存