NGINX + Apache2 + codeigniter - подпуть не работает - PullRequest
0 голосов
/ 04 декабря 2018

В настоящее время на моем сервере Ubuntu DigitalOcean установлено и запущено 2 PHP-приложения.Есть и третий, но он не работает.Все три проекта PHP настроены для работы на разных портах.Между тем, используя сервер NGINX, я настроил обратный прокси.Конфигурация указана ниже.

/ etc / nginx / nginix.conf

server {
        listen          80;
        server_name     IP;
        location / {
              #Assinged to a python project
        }
        location /php_project_1 {
            proxy_pass http://IP:5002;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header HOST $http_host;
        }

        location /php_project_2 {
            proxy_pass http://IP:5003;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header HOST $http_host;
        }
        location /php_project_3 {
            proxy_pass http://IP:5004;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header HOST $http_host;

        }
    }

Я также создал 3 файла конфигурации в / etc /apache2 / sites-available .

ПРОБЛЕМА

php_project_1 и php_project_2 разработаны с использованием ядра PHP и работают нормально.

Разработан php_project_3используя codeigniter .и это проект, который вызывает у меня проблемы.Внутри этого проекта в / application / config / config.php я изменил $config['base_url'] и ввел значения как http://IP/php_project_3.

Однако, когда я нажимаю на URL http://IP/php_project_3, я получаю пустую страницу.Я также проверил / var / logs / apache2 и / var / logs / nginx , однако файл error.log не показывает никаких сообщений, соответствующих моему запросу.

Тем временем я могу успешно запустить другие 2 приложения, используя http://IP/php_project_1 и http://IP/php_project_2

Я не знаю, как устранить эту проблему.

1 Ответ

0 голосов
/ 05 декабря 2018

Значение для $config['base_url'] должно заканчиваться косой чертой, поэтому попробуйте

$config['base_url'] = 'http://IP/php_project_3/';

Если вышеприведенное все еще дает пустое значение и нет ошибок, которые могут быть найдены ни в одном файле журнала на /application/logs/, тогдау вас может быть спецификация на одном из ваших файлов скриптов.Я столкнулся с ними в самом начале сценария перед открытием <?php.Начните с контроллера.Удалите эту начальную строку, затем повторите ее - протестируйте, повторите для всех файлов «просмотра», которые использует контроллер, пока не найдете нарушителя.

Чтобы узнать, доставляется ли прокси-сервер в правильный каталог, временно заменив CodeIgniter's index.php другим файлом с тем же именем, но с простым текстовым выводом, например

<?php
echo "Hello World"; 

Очевидно, что если вы видите текст, проблема находится за пределами проблемы конфигурации сервера.

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