directory location
nginx php mariadb(mysql) 구동상태에서 이야기다.
현재 나의 php는 7.1이다.
nginx.conf에 가상호스트virtualhost.conf 를 인클루드 하였고,
이제 가상호스트 설정에서 경로를 만들어 줄때이다.
행 앞에 # 은 주석이다. 해제하려면 주석제거
#내도메인 가상 호스트
server {
#charset UTF-8;
# 포트
listen 80;
# 호스트 네임
server_name 내도메인;
# 홈 디렉토리 , 현재 내도메인 으로 접속시 보여질 기본 루트경로이다.
root D:/www/head;
# index 파일명 ,루트경로에서 잡혀질 기본 인덱스 파일
index index.html index.htm index.php install.php;
}
# 외부에서 접속시 http://내도메인/mp4 가 된다.
현재 설치된 루트경로와 다른 파티션의 경로를 이와 같이 alias로 줄수 있다.
location /mp4 {
alias F:/mp4;
#여기서 autoindex on 을 해버리면, http://내도메인/mp4 로 접속시 하위에 있는 파일 폴더들이 리스트로 웹페이지에 표시된다. 일단 주석처리
#autoindex on;
}
location /util {
root d:/www/pds;
}
#alias는 대체를 한다는 의미이고,
#root는 해당 위치를 root로 잡는다는 소리이다.
#location /util {
#alias D:/www/pds;
# }
#의 경우 , http://도메인/util/abc.jpg 를 읽어드린다면
#d:/www/pds/abc.jpg 로 존재해야한다.
#root D:/www/pds; 로 주면
#d:/www/pds/util/abc.jpg 로 존재해야한다
#곧 alias D:/www/pds = /util
# root D:/www/pds = /
#php동작하도록 하기
location /myphp {
alias F:/test;
#현위치에 PHP 사용허용
location ~ \.php$ {
# 해킹될수가있어 try_files $uri =404; 추가함
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
#fastcgi_intercept_errors on;
}
}
F:/test 아래에 있는 php파일들, 즉 http://도메인/myphp 에서 php가 동작할 수 있도록 하려면
위와 같이
location /myphp { } 안에 주면된다.