Как развернуть Rest API, разработанный с использованием Laravel, в производство? - PullRequest
0 голосов
/ 22 апреля 2019

Я разработал rest api, используя laravel и вызывая их из Angular 4. Все это прекрасно работает в локальной системе, так как я запускаю laravel, используя "php artisan serve".Но когда я размещаю его в AWS EC2 Instance тем же способом, и когда я вызываю api, это выдает ошибку 404.

Я поместил весь код в / var / www / html и получил к нему доступ http://domain/api/report но все равно дает мне 404. Но когда я получаю доступ к общедоступной папке, например http://domain/public/index.php, она работает нормально.

Пожалуйста, помогите мне с этим.

Спасибо!

Ответы [ 4 ]

1 голос
/ 22 апреля 2019

измените путь к папке с документами в /etc/apache2/sites-available/00-default.conf этом файле

. Вы также убедитесь, что модуль перезаписи включен.

sudo a2enmod rewrite

var/www/html

на

var/www/html/public

послеперезагрузите сервер

service apache2 restart
1 голос
/ 22 апреля 2019

Таким образом, вам нужно внести 2 изменения.

Сначала укажите домен вашего приложения на общую папку, чтобы выполнить следующий шаг: a.Enable модуль перезаписи с sudo a2enmod rewrite b.Change AllowOverride в файле Apache Conf:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted

c. Путь обновления от var/www/html до var/www/html/public

Во-вторых, удалите index.php из вашего URL с файлом .htaccess, если вы внесли некоторые измененияв файле по умолчанию (вы можете найти этот файл в публичном каталоге вашего проекта)

0 голосов
/ 22 апреля 2019

Для загрузки laravel на сервер вы должны загрузить все каталоги laravel в var/www и содержимое общей папки в html

laravel сделал это из-за безопасности, поэтому никто не может получить доступ к вашим файлам конфигурации, таким как .env или любым другим файлам PHP, которые делают его более безопасным

так что ваш вывод var/www как

var/www/app var/www/bootstrap var/www/config

и т. Д.

, а затем вывод вашего html будет похож на

html/js html/css html/index.php

и т. Д.

тогда ваше приложение будет работать хорошо и если вы столкнулись с такой проблемой, как невозможность доступа к маршрутам, вам нужно переписать файл apache config, чтобы посмотреть видеоурок переписать конфигурацию laravel

0 голосов
/ 22 апреля 2019

Похоже, ваш API отсутствует на общедоступном диске.

Чтобы связать его, просто создайте символическую ссылку между public / api и api

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