[nginx] NGinx 기본 공개 www 위치?

필자는 Apache를 사용해 본 적이 있기 때문에 기본 공개 웹 루트는 일반적으로 /var/www/입니다.

최근에 nginx로 작업하기 시작했지만 기본 공개 웹 루트를 찾지 못하는 것 같습니다.

nginx의 기본 공개 웹 루트는 어디에서 찾을 수 있습니까?



답변

구성에 포함되지 않은 root /some/absolute/path; 명령문이 같은 상대 경로를 사용 명령문이 포함 root some/relative/path;된 경우 결과 경로는 컴파일 시간 옵션에 따라 다릅니다.

아마도 소스를 직접 다운로드 하여 컴파일 한 경우 이것이 의미하는 바에 대해 교육적인 추측을 할 수있는 유일한 경우 일 것 입니다. 이 경우 경로 --prefix는 사용 된 것과 관련이 있습니다 . 변경하지 않은 경우 기본값은 /usr/local/nginx입니다. nginx가 via로 컴파일 된 매개 변수를 찾을 수 있습니다nginx -V--prefix 첫 번째 나열 됩니다.

이후 에 지시 기본값roothtml 이 물론 초래 /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/;
}