SonarQube недоступен на 127.0.0.1:9000 под Ubuntu 18.04 - PullRequest
0 голосов
/ 18 марта 2020

Я хочу запустить SonarQube на моем сервере Ubuntu 18.04 вместе с nginx (капля в DigitalOcean).

В основном я следовал этим инструкциям . Я использовал Postgres вместо MySQL.

Nginx должен принять запрос и передать его на localhost-адрес, используемый SonarQube (127.0.0.1:9000).

Nginx работает и работает. SSL активен и работает. Вот мой codequality.example.com.conf:

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name codequality.example.com www.codequality.example.com;

    root /var/www/html;
    index index.html index.htm;

    access_log /var/log/nginx/codequality.example.com.access.log;
    error_log /var/log/nginx/codequality.example.com.error.log;

    ssl_certificate /etc/letsencrypt/live/codequality.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/codequality.example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto http;
    }
}

Команда systemctl status sonarqube дает мне следующий ответ:

● sonarqube.service - служба SonarQube Loaded: загружено ( /etc/systemd/system/sonarqube.service; включена; предустановка поставщика: включена) Активна: активна (работает) с вт 2020-03-17 22:16:50 UTC; 5s ago Процесс: 21796 ExecStop = / opt / sonarqube / bin / linux -x86-64 / sonar. sh останов (код = выход, состояние = 0 / SUCCESS) Процесс: 21855 ExecStart = / opt / sonarqube / bin /linux-x86-64/sonar.sh start (код = выход, состояние = 0 / УСПЕХ) Основной PID: 21918 (оболочка) Задачи: 43 (лимит: 2361) CGroup: /system.slice/sonarqube. сервис ├─21918 /opt/sonarqube/bin/linux-x86-64/./wrapper /opt/sonarqube/bin/linux-x86-64/../../conf/wrapper.co ├─ 21922 java -Dsonar.wrapped = true -D java .awt.headless = true -Xms8m -Xmx32m -D java .library.path =. / Lib -cl └─21954 / usr / lib / jvm / java -11-openjdk-amd64 / bin / java -XX: + UseConcMarkSweepG C -XX: CMSInitiatingOccupancyF строки 1-11 / 11 (END)

Так что я могу предположить, что SonarQube-Server работает правильно. Попытка доступа к SonarQube через https://codequality.example.com приводит к ошибке 502. Файл журнала говорит:

2020/03/17 22:19:44 [error] 19598 # 19598: * 233 connect () не удалось (111: соединение отклонено) при подключении к восходящему каналу, клиенту : 79.254.63.100, сервер: codequality.example.com, запрос: «GET / HTTP / 2.0», восходящий поток: «http://127.0.0.1: 9000 / », хост: «codequality.example.com»

Попытка доступа к локальному хосту (127.0.0.1:9000) во время sh -сессии через curl http://127.0.0.1:9000 Я получаю ошибку:

curl: (7) Не удалось подключиться к порту 127.0.0.1 9000: соединение отклонено

Это журнал от SonarQube:

2020.03.17 22:38:53 INFO app [] [ osaAppFileSystem] Очистка или создание временного каталога / opt / sonarqube / temp 2020.03.17 22:38:53 Приложение INFO [] [osaes.EsSettings] Elasticsearch прослушивает /127.0.0.1:9001 2020.03.17 22:38:54 Приложение INFO [ ] [osaProcessLauncherImpl] Процесс запуска [[key = 'es', ipcIndex = 1, logFilenamePrefix = es]] из [/ opt / sonarqube /asticsearch]: / opt / sonarqube /asticsearch / bin /asticsearch 2020.03.17 22 : 38: 54 INFO app [] [osaSchedulerImpl] Ожидание запуска Elasticsearch 2020.03.17 22:38:55 INFO app [] [oepPluginsService] нет загруженных модулей 2020.03.17 22:38:55 INFO app [] [ oepPluginsService] загружаемый плагин [org.elasticsearch.transport.Netty4Plugin] Предупреждение о виртуальной машине с 64-разрядным сервером OpenJDK: опция UseConcMarkSweepG C устарела в версии 9.0 и, вероятно, будет удалена в следующем выпуске. ОШИБКА: [2] bootstrap проверки не пройдены 1 : максимальное количество дескрипторов файлов [4096] для процесса эластичного поиска слишком низкое, увеличьте по крайней мере до [65535] [2]: максимальное количество областей виртуальной памяти vm.max_map_count [ 65530] слишком мало, увеличьте как минимум [262144] 2020.03.17 22:39:11 WARN app [] [osapAbstractManagedProcess] Процесс завершен со значением выхода [es]: 78 2020.03.17 22:39:11 INFO app [] [osaSchedulerImpl] Процесс [es] остановлен 2020.03.17 22:39:11 Приложение INFO [] [osaSchedulerImpl] SonarQube остановлен <- Wrapper Stopped -> Wrapper Запущен как демон Запуск JVM ... Wrapper (Версия 3.2. 3) http://wrapper.tanukisoftware.org Copyright 1999-2006 Tanuki Software, In c. Все права защищены.

Что я делаю не так?

1 Ответ

0 голосов
/ 18 марта 2020

проблема не в NGINX прокси. Файл журнала, которым вы поделились, содержит некоторые элементы

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 2020.03.17 22:39:11 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 78 2020.03.17 22:39:11 INFO app[][o.s.a.SchedulerImpl] Process[es] is stopped

Ваш SonarQube работает неправильно из-за неправильной конфигурации elasti c sarch.

Проверьте эту ссылку на узнайте, как настроить предел:

общая информация

https://www.elastic.co/guide/en/elasticsearch/reference/current/file-descriptors.html

как изменить настройки

https://www.elastic.co/guide/en/elasticsearch/reference/master/setting-system-settings.html

Убедитесь, что SonarQube правильно работает на локальном хосте: 9000, прежде чем переходить к конфигурации прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...