Nginx 访问目录下载问题
nginx虚拟主机,在本地做的测试,部分配置如下:
<code>server { listen 80; server_name www.myblog.com; error_page 404 /404.html; error_page 500 503 504 /50x.html; # server_name_in_redirect off; root /usr/share/nginx/www/myblog; # default_type application/octet-stream; index index.html index.php; location / { try_files $uri $uri/ /index.html; } location ~*\.(gif|jpg|png)$ { expires 30d; } location ~ \.php { fastcgi_index index.php; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } </code>
}
现在的问题是当我访问www.myblog.com的时候会下载index.php,而不是执行。但我访问www.myblog.com/index.php的时候却是ok的。
请问这个问题怎么解决?
多谢各位!
回复内容:
nginx虚拟主机,在本地做的测试,部分配置如下:
<code>server { listen 80; server_name www.myblog.com; error_page 404 /404.html; error_page 500 503 504 /50x.html; # server_name_in_redirect off; root /usr/share/nginx/www/myblog; # default_type application/octet-stream; index index.html index.php; location / { try_files $uri $uri/ /index.html; } location ~*\.(gif|jpg|png)$ { expires 30d; } location ~ \.php { fastcgi_index index.php; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; } </code>
}
现在的问题是当我访问www.myblog.com的时候会下载index.php,而不是执行。但我访问www.myblog.com/index.php的时候却是ok的。
请问这个问题怎么解决?
多谢各位!
问题解决了,原来是浏览器缓存的问题,清除一下缓存就可以了!!!泪奔啊。。。
可以参考这里:http://serverfault.com/questions/315224/why-are-my-php-files-downloading-instead-of-processing-with-nginx?rq=1
多谢各位的回答了!
在try_files最后添加index.php试试看
try_files $uri $uri/ /index.html; 这里是不是少了 index.php呢?

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Bagaimana cara mengkonfigurasi nginx untuk mengimbangi beban? Mendefinisikan kolam pelayan hulu dan menentukan IP dan port pelayan. Tentukan tuan rumah maya, dengar sambungan dan hantar ke kolam hulu. Tentukan lokasi, padankan permintaan dan hantar ke kolam hulu.

Kaedah untuk melihat status berjalan nginx adalah: Gunakan arahan PS untuk melihat status proses; Lihat fail konfigurasi nginx /etc/nginx/nginx.conf; Gunakan modul status nginx untuk membolehkan titik akhir status; Gunakan alat pemantauan seperti Prometheus, Zabbix, atau Nagios.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Log ralat terletak di/var/log/nginx (linux) atau/usr/local/var/log/nginx (macOS). Gunakan baris arahan untuk membersihkan langkah -langkah: 1. Sandarkan log asal; 2. Buat fail kosong sebagai log baru; 3. Mulakan semula perkhidmatan Nginx. Pembersihan automatik juga boleh digunakan dengan alat pihak ketiga seperti logrotat atau dikonfigurasikan.

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.
