Jika konfigurasi Anda tidak menyertakan root /some/absolute/path;
pernyataan, atau itu termasuk yang menggunakan jalur relatif seperti root some/relative/path;
, maka jalur yang dihasilkan tergantung pada opsi waktu kompilasi.
Mungkin satu-satunya kasus yang memungkinkan Anda untuk membuat tebakan tentang apa artinya ini bagi Anda adalah, jika Anda mengunduh dan mengkompilasi sumbernya sendiri. Dalam hal itu, jalan akan relatif terhadap apa pun --prefix
yang digunakan. Jika Anda tidak mengubahnya, defaultnya adalah /usr/local/nginx
. Anda dapat menemukan parameter yang dikompilasi dengan nginx via nginx -V
, itu daftar --prefix
sebagai yang pertama.
Sejak itu root
default direktif untukhtml
, ini akan, tentu saja, mengakibatkan /usr/local/nginx/html
menjadi jawaban untuk pertanyaan Anda.
Namun, jika Anda menginstal nginx dengan cara lain, semua taruhan dimatikan. Distribusi Anda mungkin menggunakan jalur default yang sama sekali berbeda. Belajar mencari tahu apa jenis default yang digunakan distribusi pilihan Anda untuk berbagai hal adalah tugas lain sepenuhnya.
nginx -V 2>&1 | grep --color -o -e '--prefix=[^[:space:]]\+'
memberi Anda HOME nginx.Jika menginstal di Ubuntu menggunakan apt-get, coba
/usr/share/nginx/www
.EDIT:
Pada versi yang lebih baru, jalur telah berubah menjadi:
/usr/share/nginx/html
EDIT 2019:
Mungkin akan mencoba
/var/www/html/index.nginx-debian.html
juga.sumber
Direktori Nginx default pada Debian adalah
/var/www/nginx-default
.Anda dapat memeriksa file:
/etc/nginx/sites-enabled/default
dan menemukan
Root adalah lokasi default.
sumber
html
.default site
diaktifkan?'root web publik default' dapat ditemukan dari nginx -V output:
nilai --prefix adalah jawaban untuk pertanyaan. untuk sampel di atas root adalah / var / lib / nginx
sumber
Pada Mac OS X menginstal nginx with brew membuat direktori default:
Begitu:
cara
Tidak ada direktori html sehingga harus dibuat secara manual.
sumber
root html
,index.html
dan50x.html
langsung dimasukkan/usr/local/var/www
. Karena itu, saya meragukan keberadaanhtml
folder. Bisakah Anda memberi saya bantuan dengan itu?/usr/local/Cellar/nginx/1.10.2_1/html
tempat 1.10.2_1 adalah versi nginx./usr/local/Cellar/nginx/1.12.0_1/html -> ../../../var/www/
dannginx -V
acara:--prefix=/usr/local/Cellar/nginx/1.12.0_1
jadiroot html
dialihkan melalui tautan itu.Anda cukup memetakan folder root nginx ke lokasi situs web Anda:
di dalam file default , cari root di tag server dan ubah folder default situs web Anda, misalnya situs web saya di / var / www
Ketika saya mengevaluasi nginx, apache2 dan lighttpd, saya memetakan semuanya ke situs web saya di / var / www . Saya menemukan ini cara terbaik untuk mengevaluasi secara efisien.
Kemudian Anda dapat memulai / menghentikan server pilihan Anda dan melihat mana yang berkinerja terbaik.
misalnya
Btw, nginx sebenarnya sangat cepat!
sumber
seperti yang dikatakan sebagian besar pengguna di sini, ia berada di bawah jalur ini:
Ini adalah jalur default, tetapi Anda dapat membuatnya sendiri.
yang Anda butuhkan hanyalah membuat satu di root tree server web dan memberikannya beberapa izin "bukan 0777" dan hanya untuk satu pengguna dan dapat dilihat oleh pengguna itu saja, tetapi ujung jalan terlihat oleh semua orang sejak ujung jalan. apa file dan folder Anda akan dilihat oleh publik.
misalnya, Anda dapat membuat yang seperti ini:
setiap kali Anda membuat host virtual di Nginx, Anda dapat menyesuaikan jalur root Anda sendiri, cukup tambahkan sesuatu seperti ini di blok server Anda:
sumber
/usr/share/nginx/html/
folder. Apakah ada alasan untuk mengubah jalan itu sama sekali (untuk keamanan atau alasan lain)? Apakah saya tetap membiarkannya di folder default jika saya akan menjadi satu-satunya pengguna dan jika saya hanya akan meng-host 1 situs web di dalamnya?Folder web default untuk nginx tergantung pada bagaimana Anda menginstalnya, tetapi biasanya di lokasi ini:
sumber
Untuk gambar Ubuntu dan buruh pelabuhan:
sumber
Jalankan perintah
nginx -V
dan cari--prefix
. Gunakan entri itu untuk menemukan jalur default Anda.sumber
Buang konfigurasi:
Apa yang Anda dapatkan mungkin berbeda karena itu tergantung pada bagaimana Anda
nginx
dikonfigurasikan / diinstal.Referensi:
-T
opsi padaman
halaman-T
pilihan dalam pesan bantuanPembaruan: Ada beberapa kebingungan tentang masalah jika / ketika
-T
opsi ditambahkannginx
. Itu didokumentasikan di halaman manual oleh vl-homutov pada 2015 16 Juni, yang menjadi bagian dari rilis v1.9.2 . Itu bahkan disebutkan dalam catatan rilis . The-T
pilihan telah hadir di setiapnginx
rilis sejak, termasuk satu yang tersedia di Ubuntu 16.04.1 LTS:sumber
-T
opsi. Apakah-T
opsi hilang dari instalasi khusus Anda? Bisakah Anda menunjukkan sesuatu untuk mendukung klaim Anda?Lihatlah ke file konfigurasi nginx untuk memastikan. Perintah ini menangkap apa pun yang dikonfigurasi pada Mesin Anda:
pada mesin saya itu: `root / usr / share / nginx / www;
sumber
Di Mac instal nginx dengan brew:
/usr/local/etc/nginx/nginx.conf
sumber
Untuk CentOS, Ubuntu dan Fedora, direktori defaultnya adalah
/usr/share/nginx/html
sumber
var/www/html
.Untuk AWS EC2 Linux Anda akan menemukan di sini:
sumber
Dalam kasus saya itu masuk
/usr/share/nginx/html
Anda dapat mencoba menemukan dengan melakukan pencarian
sumber
Jika Anda menggunakan Ubuntu 14.04 Anda dapat menemukan direktori nginx www di jalur berikut:
sumber
var/www/html
.Anda dapat mencarinya, di mana pun mereka memindahkannya (admin sistem pindah atau versi nginx yang lebih baru)
sumber
Jika Anda perlu mencari tahu folder root publik nginx yang ditentukan pada waktu kompilasi, Anda bisa memeriksa file access.log Anda.
Berikut adalah contoh dari bagian http nginx.conf dengan modifikasi log_format direktif , $ document_root ditambahkan pada awal string:
Kemudian buat cadangan semua file konfigurasi * .conf di direktori conf.d dan buat file konfigurasi di sana, test.conf dengan baris berikut:
Tambahkan baris berikut ke file / etc / hosts:
127.0.0.1 localhost
Muat ulang konfigurasi nginx:
nginx -s reload
Kirim permintaan GET ke http: // localhost :
curl http://localhost
Periksa string terakhir access.log :
tail -n 1 /var/log/nginx/access.log
Berikut adalah contoh output dari perintah ini, di mana / etc / nginx / html adalah root dokumen default yang didefinisikan pada waktu kompilasi:
sumber
Anda dapat mengakses file config nginx, Anda dapat melihat root / path. dalam default ini dari nginx apache di
/var/www/html
sumber
/var/www/html
adalah root web default untuk apache, bukan nginx.* halaman web bawaan dialokasikan dalam var / www / html * server konfigurasi default dll / nginx / situs / tersedia / nginx.conf
* Server konfigurasi standar, etc / nginx / nginx.conf
kandungan..
log akses default dengan klien ip var / log / nginx / ...
sumber
Hanya untuk dicatat bahwa halaman indeks default untuk server nginx juga akan menampilkan lokasi root. Dari nginx (1.4.3) di Amazon Linux AMI, Anda mendapatkan yang berikut:
Ini adalah halaman index.html default yang didistribusikan dengan nginx di Amazon Linux AMI. Itu terletak di / usr / share / nginx / html.
Anda sekarang harus meletakkan konten Anda di lokasi pilihan Anda dan mengedit direktif konfigurasi root dalam file konfigurasi nginx /etc/nginx/nginx.conf
sumber
Nginx saya di Ubuntu adalah "nginx versi: nginx / 1.9.12 (Ubuntu)" dan path root adalah / var / www / html /
Info Ubuntu adalah: Tidak ada modul LSB yang tersedia. ID Distributor: Ubuntu Keterangan: Ubuntu 16.04 LTS Rilis: 16.04 Codename: xenial
Sebenarnya, jika Anda baru saja menginstal nginx di Ubuntu, maka Anda dapat pergi ke "/ etc / nginx / sites-available" dan memeriksa file default, ada konfigurasi seperti "root / web / root / path / goes / here". Dan itulah yang Anda cari.
sumber
Anda dapat menemukannya di / var / www / itu adalah direktori default untuk nginx dan apache tetapi Anda dapat mengubahnya. langkah 1 pergi ke folder berikut / etc / nginx / sites-available
langkah 2 edit file default di bahwa Anda dapat menemukan blok server di bawah bahwa akan ada baris bernama root yang menentukan lokasi.
sumber
di ubuntu 19.04, kami menemukannya di
sumber
Untuk nginx / 1.4.6 (Ubuntu)
sumber
Di Ubuntu, lokasi direktori root Nginx default adalah
/usr/share/nginx/html
sumber
Default terkait dengan
prefix
opsiconfigure
skrip saat nginx dikompilasi; inilah beberapa contoh aneh dari Debian:Selanjutnya, nilai default
root
adalah set kehtml
direktori (sesuai dokumentasi dariroot
direktif ), yang kebetulan berada dalamprefix
, seperti dapat diverifikasi dengan melihat$document_root
variabel dari file konfigurasi yang sederhana:Namun, distribusi jahat seperti Debian tampaknya sedikit memodifikasinya, untuk membuat Anda tetap terhibur:
Jadi, pada instance Debian ini, Anda dapat melihat bahwa root akhirnya disetel ke
/usr/share/nginx/www
.Tetapi seperti yang Anda lihat dengan contoh konfigurasi server yang akan melayani
$document_root
nilainya di atas http, mengkonfigurasi nginx cukup sederhana sehingga Anda dapat menulis konfigurasi sendiri dalam satu atau dua baris, menentukan yang diperlukanroot
untuk memenuhi kebutuhan Anda yang sebenarnya.sumber
root html;
, maksud saya apa jalan yang sebenarnya?Saya juga memiliki masalah ini pada Digital Ocean menjalankan situs web WordPress dengan nginx.
Solusi saya adalah melakukan hal berikut:
/etc/nginx/nginx.conf
file dengan yang berikut ini:Saya kemudian harus
sudo service nginx restart
nginx -V
perintah juga menunjukkan Anda di mana file konfigurasi nginx Anda juga berada (milik saya diarahkan/etc/nginx/nginx.conf
)sumber
Alpine Linux tidak memiliki lokasi default sama sekali. File tersebut
/etc/nginx/conf.d/default.conf
mengatakan:Ganti mereka dengan garis yang ingin
root /var/www/localhost/htdocs
menunjuk ke direktori yang Anda inginkan. Kemudiansudo service nginx restart
restart.sumber
nginx:alpine
gambar terbaru dan menyajikan konten dari/usr/share/nginx/html
luar kotak.apk add nginx
secara manual menginstal nginx dari manajer paket Alpine sendiri, Anda mendapatkan situasi yang dijelaskan dalam jawaban saya (atau itulah yang terjadi ketika saya mencobanya beberapa bulan yang lalu).