windows에서 nginx + laravel 사용
php 설치 및 설정
apache 에서 한 설정과 다르지 않다. 다음 링크를 참고하자.
다만 apache 에서는 php 를 사용하기 위해 서버에서 php7_module
을 load 했다. 하지만 nginx 는 fast cgi 를 이용한다.
nginx 설치
- download : 여기서는 1.18.0 version 을 사용했다.
- /conf/nginx.conf 수정
download 및 실행방법
- nginx: download
- nginx 실행 :
d:\nginx\nginx-1.18.0\nginx.exe
- 확인 : 웹브라우저를 열고
http://localhost/
에 접속하면 화면이 보인다. nginx.exe -s stop
명령으로 서비스를 중지할 수 있다.
설정
- 참고 page
- Full Example Configuration | NGINX
- PHP FastCGI Example | NGINX : 여기서 php fastCGI 관련
try_files
이야기가 나온다.
d:\nginx\nginx-1.18.0\conf\nginx.conf
를 수정하면 된다.
http{
...
server {
listen 8000;
listen localhost:8000;
server_name localhost namhalias.com namh.another.alias.com;
root d:/mylaravel/public;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
# fast cgi 설정, 이 녀석이 필요하다.
location ~ \.php$ {
try_files $uri /index.php = 404;
fastcgi_pass 127.0.0.1:7000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
- http: 여기서 ‘server’ 와 ‘client’ 사이에서 어떤 protocol 을 사용할 것인지를 설정한다.
- server: virtual-host 를 설정하는 곳, apahce 의 vhost 설정같은 곳이다.
- location: 개별 경로에 대한 설정
실행
- fast-cgi 실행
- nginx.exe 실행
- 확인: web browser 에서
http://localhost:8000
접속
D:\php\>php-cgi -b localhost:7000
D:\php\>cd d:\nginx
D:\nginx\nginx-1.18.0>nginx.exe
nginx 를 service 로 만들기
powershell 을 열고 아래 내용을 붙여넣기 하자.
$params = @{
Name = "nginx"
BinaryPathName = "d:\nginx\nginx-1.18.0\nginx.exe"
DisplayName = "nginx"
StartupType = "Automatic"
Description = "nginx web-server service"
}
New-Service @params
그러면 아래처럼 service 가 생성된다.
PS D:\nginx\nginx-1.18.0> $params = @{
>> Name = "nginx"
>> BinaryPathName = "d:\nginx\nginx-1.18.0\nginx.exe"
>> DisplayName = "nginx"
>> StartupType = "Automatic"
>> Description = "nginx web-server service"
>> }
PS D:\nginx\nginx-1.18.0> New-Service @params
Status Name DisplayName
------ ---- -----------
Stopped nginx nginx
PS D:\nginx\nginx-1.18.0>
댓글 없음:
댓글 쓰기