upstream phpfpm {
#server unix:/var/run/php5-fpm.sock;
server 127.0.0.1:9000;
}
server {
listen 80;
# Specify this vhost’s domain name
server_name lxy.me;
root /home/lxy.me/public;
index index.php index.html index.htm;
# Specify log locationsforcurrent site
access_log /home/lxy.me/log/access.log;
error_log/home/lxy.me/log/error.log warn;
# Typically I create a restrictions.conf file that I thenincludeacross all of my vhosts
#includeconf.d/restrictions.conf;
# BEGIN restrictions.conf
# Disable loggingforfavicon
location = /favicon.ico {
log_not_found off;
access_log off;
}
# Disable loggingforrobots.txt
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Deny all attempts to access hidden files suchas.htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
#ENDrestrictions.conf
# Typically I create a yiiframework.conf file that I thenincludeacross all of my yii vhosts
#includeconf.d/yiiframework.conf;
# I’ve included the content of my yiiframework.conf in-lineforthis example
# BEGIN yiiframework.conf
# Block access toprotected, framework,andnbproject (artifact from Netbeans)
location ~ /(protected|framework|nbproject) {
deny all;
access_log off;
log_not_found off;
}
# Block access to theme-folder views directories
location ~ /themes/\w+/views {
deny all;
access_log off;
log_not_found off;
}
# Attempt the uri, uri+/, then fall back to yii’s index.php with args included
# Note: old examplesuseIF statements,
# which nginx considers evil, this approach is more widely supported
location / {
try_files$uri$uri/ /index.php?$args;
}
#ENDyiiframework.conf
# Tell browser to cache image filesfor24 hours,
#donot log missing images
# I typically keep this after the yii rules,
# so that there is no conflict with content served by Yii
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 24h;
log_not_found off;
}
# Blockforprocessing PHP files
# Specifically matches URIs ending in .php
location ~ \.php$ {
try_files$uri=404;
# Fixforserver variables that behave differently under nginx/php-fpm than typically expected
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# Include the standard fastcgi_params file included with nginx
includefastcgi_params;
fastcgi_param PATH_INFO$fastcgi_path_info;
fastcgi_index index.php;
# Override the SCRIPT_FILENAME variable set by fastcgi_params
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
# Pass to upstream PHP-FPM; This must match whatever you name your upstream connection
fastcgi_pass phpfpm;
}
}
|
|
|