#nginx 解析php
配置 vim test.com.conf
server
{
listen 80;
server_name test.com test1.com test2.com;
index index.html index.htm index.php;
root /data/nginx/test.com;
if ( $host != 'test.com' ) {
rewrite ^/(.*)$ http://test.com/$1 permanent;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/nginx/test.com$fastcgi_script_name;
}
}
#检查配置是否成功
/usr/local/nginx/sbin/nginx -t
#重启
/usr/local/nginx/sbin/nginx -s reload
附加: lnmp环境线上配置,解决nginx不支持pathinfo模式
nginx.conf
server
{
listen 80;
server_name chinaber.cn;
index index.html index.htm index.php;
root /data/wwwroot/tp5/public;
location / {
#ThinkPHP Rewrite
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
location ~ \.php($|/){
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+?\.php)(/.+)$") {
set $script $1;
set $path_info $2;
}
try_files $uri =404;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param script_FILENAME $document_root$script;
fastcgi_param script_NAME $script;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/tp5/public$fastcgi_script_name;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
root /data/www/shuzhuo/public;
if (-f $request_filename){
expires 1d;
break;
}
}
location ~ .*\.(js|css)?$
{
root /data/www/shuzhuo/public;
if (-f $request_filename){
expires 1d;
break;
}
}
}
线上配置文件 :
nginx.conf + ssl
server {
listen 443;
server_name chinaber.cn www.chinaber.cn;
ssl on;
index index.html index.htm index.php;
root /data/www/myblog/public;
error_log /tmp/chinaber-error.log error;
ssl_certificate cert/214514783960334.pem;
ssl_certificate_key cert/214514783960334.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
location ~ \.php($|/){
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+?\.php)(/.+)$") {
set $script $1;
set $path_info $2;
}
try_files $uri =404;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param script_FILENAME $document_root$script;
fastcgi_param script_NAME $script;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME /data/www/myblog/public$fastcgi_script_name;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
root /data/www/myblog/public;
if (-f $request_filename){
expires 1d;
break;
}
}
location ~ .*\.(js|css)?$
{
root /data/www/myblog/public;
if (-f $request_filename){
expires 1d;
break;
}
}
}
fastcgi.conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param PHP_VALUE "open_basedir=/data/www/myblog/:/tmp/:/proc/";
编辑回复