laravel의 php artisan 서버가 IIS의 WWW에서 액세스 가능한 서버가 아닌 이유


12

laravel artisan 서버를 통해 laravel 응용 프로그램이 실행 중입니다 .

 php artisan serve

그리고 계속 진행하면 제대로 작동합니다 localhost:8000. 또한 IIS 서버에 다음과 같이 인바운드 규칙을 추가했습니다.

제어판-> 관리 도구-> 고급 보안 기능이있는 Windows 방화벽, 인바운드 규칙. 새로운 규칙 "포트, TCP, 8000, 모든 프로파일 허용"

그러나 어떤 이유로 든 여전히 WWW에서 웹 사이트에 액세스 할 수 없습니다 (웹 머신 서버에 대해 동일한 단계 를 똑같이 수행 했으며 완벽하게 작동했습니다). 어떤 아이디어?


1
Laravel 또는을 모르면 기본적 artisan으로 localhost만 바인딩되며 로컬이 아닌 요청을 처리하도록 구성해야합니다. 이를 확인하기 위해 시스템 문서를 찾아보십시오.
Sven

@SvW가 정확합니다.
ceejayoz

답변:


29

localhost 외부에서 작동하게하려면 php artisan serve --host 0.0.0.0

브라우저에서 포트를 지정하지 않고 작동하려면 php artisan serve --host 0.0.0.0 --port 80. sudo아마도 필요할 것입니다.

참고 : 프로덕션에는 절대 사용 php artisan serve해서는 안됩니다 . 개발자와 시연 용으로 만 사용되며 한 두 사람 이상의 트래픽을 처리 할 수 ​​없습니다.


괜찮아 들리 네요 .. 실제로 귀하의 지시 사항을 사용하여 WWW (예 : mydomain.com:8080)에서 볼 수있었습니다. 그러나 왜 아파치를 실제로 WWW에 제공 할 수 없는지 궁금합니다. 이것은 내 특정 시나리오입니다. 실행 artisan serve하면 제대로 작동합니다 .. 그러나 아파치를 켜면 page not found오류가 발생합니다 .. 작곡가를 사용하여 샘플 laravel 프로젝트를 만들었습니다 .. 아파치에서도 잘 작동했습니다 .. 그러나이 프로젝트 i 실제로 다른 개발자의 컴퓨터에서 복사되었습니다. 파일 권한과 관련이 있다고 가정합니다.
abbood

2
올바른 디렉토리를 가리 키도록 Apache를 올바르게 구성해야합니다. laravel.com/docs/installation#pretty-urls를 참조하십시오 .
ceejayoz

괜찮아 .. 난 변화 AllowOverrideAll에서 httpd.conf의 정의에 파일 DocumentRoot의 지침에 따라 여기에 ...하지만 그게 그 작업 시도하지 않는 경우라는 laravel 웹 사이트에 .. 작동하지 않았다 Options +FollowSymLinks RewriteEngine On .....하지만 난 어디 모르겠어요 그거 넣어? 그들은 같은 httpd.conf 파일로 가야합니까?
abbood

DocumentRoot가 공용 디렉토리를 가리 킵니까?
ceejayoz

1
@colinhoernig 단지 프로덕션에는 절대 사용 하지 마십시오 .
ceejayoz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.