필자는 Apache를 사용해 본 적이 있기 때문에 기본 공개 웹 루트는 일반적으로 /var/www/
입니다.
최근에 nginx로 작업하기 시작했지만 기본 공개 웹 루트를 찾지 못하는 것 같습니다.
nginx의 기본 공개 웹 루트는 어디에서 찾을 수 있습니까?
답변
구성에 포함되지 않은 root /some/absolute/path;
명령문이 같은 상대 경로를 사용 명령문이 포함 root some/relative/path;
된 경우 결과 경로는 컴파일 시간 옵션에 따라 다릅니다.
아마도 소스를 직접 다운로드 하여 컴파일 한 경우 이것이 의미하는 바에 대해 교육적인 추측을 할 수있는 유일한 경우 일 것 입니다. 이 경우 경로 --prefix
는 사용 된 것과 관련이 있습니다 . 변경하지 않은 경우 기본값은 /usr/local/nginx
입니다. nginx가 via로 컴파일 된 매개 변수를 찾을 수 있습니다nginx -V
--prefix
첫 번째 나열 됩니다.
이후 에 지시 기본값root
html
이 물론 초래 /usr/local/nginx/html
귀하의 질문에 대한 대답 인.
그러나 다른 방법으로 nginx를 설치 한 경우 모든 베팅이 해제됩니다. 배포판에서 완전히 다른 기본 경로를 사용할 수 있습니다. 선택의 분포가 사물에 어떤 종류의 디폴트를 사용하는지 알아내는 것은 전적으로 또 다른 과제입니다.
답변
apt-get을 사용하여 Ubuntu에 설치하는 경우을 시도하십시오 /usr/share/nginx/www
.
편집하다:
최신 버전에서는 경로가 다음과 같이 변경되었습니다.
/usr/share/nginx/html
2019 년 편집 :
시도해 볼 수도 /var/www/html/index.nginx-debian.html
있습니다.
답변
데비안의 기본 Nginx 디렉토리는 /var/www/nginx-default
입니다.
파일을 확인할 수 있습니다 : /etc/nginx/sites-enabled/default
찾아
server {
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
root /var/www/nginx-default;
index index.html index.htm;
}
루트는 기본 위치입니다.
답변
‘기본 공개 웹 루트’는 nginx -V 출력에서 찾을 수 있습니다.
nginx -V
nginx version: nginx/1.10.1
built with OpenSSL 1.0.2h 3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/var/lib/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx/nginx.pid --lock-path=/run/nginx/nginx.lock --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-pcre-jit --with-http_dav_module --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_v2_module --with-http_auth_request_module --with-mail --with-mail_ssl_module
–prefix 값은 질문에 대한 답변입니다. 루트 위의 샘플은 / var / lib / nginx입니다.
답변
Mac OS X에서 brew와 함께 nginx를 설치하면 기본 디렉토리가됩니다.
/usr/local/var/www
그래서:
root html
방법
root /usr/local/var/www/html
html 디렉토리가 없으므로 수동으로 작성해야합니다.
답변
nginx의 루트 폴더를 웹 사이트의 위치에 간단히 매핑 할 수 있습니다 .
nano /etc/nginx/sites-enabled/default
내부 기본 파일의 대한 모습 루트 서버 태그 변경 웹 사이트의 기본 폴더, 예를 들어, 내 웹 사이트 있습니다에서 의 / var / www가
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www; <-- Here!
...
nginx, apache2 및 lighttpd를 평가할 때 모든 것을 / var / www 에있는 내 웹 사이트에 매핑했습니다. . 나는 이것을 효율적으로 평가하는 가장 좋은 방법을 찾았다.
그런 다음 선택한 서버를 시작 / 중지하고 어떤 서버가 가장 성능이 좋은지 확인할 수 있습니다.
예 :
service apache2 stop
service nginx start
Btw, nginx는 실제로 매우 빠릅니다!
답변
여기에 대부분의 사용자가 말했듯 이이 경로 아래에 있습니다.
/usr/share/nginx/html
이것이 기본 경로이지만 그래도 만들 수 있습니다.
필요한 것은 웹 서버 루트 트리에서 하나를 생성하고 “0777”이 아닌 일부 사용자에게만 권한을 부여하는 것입니다. 그러나 경로의 끝 이후 모든 사용자가 경로의 끝을 볼 수 있습니다. 파일과 폴더가 공개적으로 표시됩니다.
예를 들어 다음과 같이 만들 수 있습니다.
home_web/site1/public_html/www/
Nginx에서 가상 호스트를 만들 때마다 자신의 루트 경로를 사용자 정의 할 수 있으며 서버 블록에 다음과 같이 추가하십시오.
server {
listen 80;
server_name yoursite.com;
root /home_web/site1/public_html/www/;
}