Ⅰ nginx中怎樣指定多個目錄不解析php

多個目錄去掉PHP執行許可權

代碼如下 復制代碼
location ~ /(attachments|upload)/.*.(php|php5)?$ {
deny all;
}
將attachments、upload這二個目錄的PHP執行許可權去掉。
附,完整的虛擬主機配置:
代碼如下 復制代碼

server{
listen 80;
server_name www.51qgj.com;
index index.html index.htm index.php;
root /home/wwwroot/w123;
include discuz.conf;
location ~ /(attachments|upload)/.*.(php|php5)?$ {
deny all;
}
location ~ .*.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
access_log off;
}

Ⅱ 為什麼nginx不能解析php文件,PHP,fastcgi,php_fpm也安裝了,也都啟動了,配

訪問PHP文件成下載,這是nginx配置問題,原因是你沒有把訪問PHP文件的請求轉發給PHP:9000埠,nginx本身不能解析 .php 文件,所以變成下載。你檢查一下配置 .我給示例,幫得到你希望給分: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

Ⅲ nginx 使用php解析的基本幾個配置

#運行用戶

user nobody;

#啟動進程,通常設置成和cpu的數量相等

worker_processes 1;

#全局錯誤日誌及PID文件

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

#工作模式及連接數上限

events {

#epoll是多路復用IO(I/O Multiplexing)中的一種方式,

#僅用於linux2.6以上內核,可以大大提高nginx的性能

use epoll;

#單個後台worker process進程的最大並發鏈接數

worker_connections 1024;

# 並發總數是 worker_processes 和 worker_connections 的乘積

# 即 max_clients = worker_processes * worker_connections

# 在設置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4 為什麼

# 為什麼上面反向代理要除以4,應該說是一個經驗值

# 根據以上條件,正常情況下的Nginx Server可以應付的最大連接數為:4 * 8000 = 32000

# worker_connections 值的設置跟物理內存大小有關

# 因為並發受IO約束,max_clients的值須小於系統可以打開的最大文件數

# 而系統可以打開的最大文件數和內存大小成正比,一般1GB內存的機器上可以打開的文件數大約是10萬左右

# 我們來看看360M內存的VPS可以打開的文件句柄數是多少:

# $ cat /proc/sys/fs/file-max

# 輸出 34336

# 32000 < 34336,即並發連接總數小於系統可以打開的文件句柄總數,這樣就在操作系統可以承受的范圍之內

# 所以,worker_connections 的值需根據 worker_processes 進程數目和系統可以打開的最大文件總數進行適當地進行設置

# 使得並發總數小於操作系統可以打開的最大文件數目

# 其實質也就是根據主機的物理CPU和內存進行配置

# 當然,理論上的並發總數可能會和實際有所偏差,因為主機還有其他的工作進程需要消耗系統資源。

# ulimit -SHn 65535

}

http {

#設定mime類型,類型由mime.type文件定義

include mime.types;

default_type application/octet-stream;

#設定日誌格式

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

#sendfile 指令指定 nginx 是否調用 sendfile 函數(zero 方式)來輸出文件,

#對於普通應用,必須設為 on,

#如果用來進行下載等應用磁碟IO重負載應用,可設置為 off,

#以平衡磁碟與網路I/O處理速度,降低系統的uptime.

sendfile on;

#tcp_nopush on;

#連接超時時間

#keepalive_timeout 0;

keepalive_timeout 65;

tcp_nodelay on;

#開啟gzip壓縮

gzip on;

gzip_disable "MSIE [1-6].";

#設定請求緩沖

client_header_buffer_size 128k;

large_client_header_buffers 4 128k;

#設定虛擬主機配置

server {

#偵聽80埠

listen 80;

#定義使用 www.nginx.cn訪問

server_name www.nginx.cn;

#定義伺服器的默認網站根目錄位置

root html;

#設定本虛擬主機的訪問日誌

access_log logs/nginx.access.log main;

#默認請求

location / {

#定義首頁索引文件的名稱

index index.php index.html index.htm;

}

# 定義錯誤提示頁面

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

#靜態文件,nginx自己處理

location ~ ^/(images|javascript|js|css|flash|media|static)/ {

#過期30天,靜態文件不怎麼更新,過期可以設大一點,

#如果頻繁更新,則可以設置得小一點。

expires 30d;

}

#PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI默認配置.

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

#禁止訪問 .htxxx 文件

location ~ /.ht {

deny all;

}

}

}

網頁鏈接

Ⅳ centos7 怎麼讓nginx解析php

nginx是不能解析PHP的
需要使用php-fpm來解析PHP,nginx只是負責將用戶請求轉發給php進程,由PHP進程處理後將結果返回給nginx,最後nginx再講請求返回給用戶
nginx在這扮演一個網關伺服器的角色

Ⅳ nginx配置支持php

nginx本身不支持php解析,需要配合php-fpm來配置。

location~.php${
root/var/www;#指定php的根目錄
fastcgi_pass127.0.0.1:9000;#php-fpm的默認埠是9000
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}

centos下安裝php-fpm (php及其它組件已經安裝過的情況)

yuminstallphp-fpm

啟動php-fpm 並設置開機啟動 (centos 7)

systemctlstartphp-fpm
systemctlenablephp-fpm

Ⅵ Nginx怎麼禁止對某個文件夾下的php文件解析

location ~ ^/upload/.*\.(php|php5)$
{
deny all;
}

其中upload換為你要設置的目錄名字

這條規則的含義是匹配請求連接中開頭是/upload/,中間匹配任意字元,結尾匹配.php或者.php5的頁面,最後利用deny all禁止訪問

Ⅶ nginx 如何開啟解析 PHP 的功能

就功能上而言
nginx屬於輕量級伺服器軟體
所以不像Apache有許多的模組可用
但是因為PHP的廣泛應用
所以有php-fpm這個PHP的模塊可以使用
它的功能是將php語言進行編程
交由伺服器執行
所以只需要搭配nginx便可解析PHP了

Ⅷ 為什麼lnmp搭建後nginx解析不了php

將你的nginx的php部分貼一下.

另外,看看你的伺服器是否啟用了selinux,暫時禁用下看下

如果我的回答沒能幫助您,請繼續追問。