: This article mainly introduces the deployment of Yii in Nginx. if you are interested in the PHP Tutorial, refer to it. Url rewriting
Nginx configuration file
[root@localhost protected]# vim /etc/nginx/conf.d/default.confserver { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewrite ^/(.*) /index.php last; } root /usr/share/nginx/html; index index.php index.html index.htm; } location ~ /(protected|framework|nbproject|themes/\w+/views|index-test\.php) { deny all; # for production internal; log_not_found off; access_log off; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; # include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /(\.svn|\.git|\.ht|\.DS) { deny all; internal; }}
Yii configuration file
/project/protected/config/main.php
dirname(__FILE__).DIRECTORY_SEPARATOR.'..','name'=>'My Web Application',// preloading 'log' component'preload'=>array('log'),// autoloading model and component classes'import'=>array('application.models.*','application.components.*',),'modules'=>array(// uncomment the following to enable the Gii tool/*'gii'=>array('class'=>'system.gii.GiiModule','password'=>'Enter Your Password Here',// If removed, Gii defaults to localhost only. Edit carefully to taste.'ipFilters'=>array('127.0.0.1','::1'),),*/),// application components'components'=>array('user'=>array(// enable cookie-based authentication'allowAutoLogin'=>true,),// uncomment the following to enable URLs in path-format'urlManager'=>array('urlFormat'=>'path', 'showScriptName' => false, 'urlSuffix' => '.html','rules'=>array('
/
'=>'
/view','
//
'=>'
/','
/'=>'
/',),),// database settings are configured in database.php'db'=>require(dirname(__FILE__).'/database.php'),'errorHandler'=>array(// use 'site/error' action to display errors'errorAction'=>'site/error',),'log'=>array('class'=>'CLogRouter','routes'=>array(array('class'=>'CFileLogRoute','levels'=>'error, warning',),// uncomment the following to show log messages on web pages/*array('class'=>'CWebLogRoute',),*/),),),// application-level parameters that can be accessed// using Yii::app()->params['paramName']'params'=>array(// this is used in contact page'adminEmail'=>'webmaster@example.com',),);
Restart nginx
[Root @ localhost protected] # service nginx restart stop nginx: [OK] starting nginx: [OK]
The above introduces the Yii deployment under Nginx, including some content. I hope my friends who are interested in the PHP Tutorial can help me.