部署Yii,Apache 和 Nginx 服务器所需的配置
2015-02-11 16:21
393 查看
1. Apache
Yii is ready to work with a default Apache web server configuration. The .htaccessfiles
in Yii framework and application folders restrict access to the restricted resources. To hide the bootstrap file (usually
index.php)
in your URLs you can add
mod_rewriteinstructions
to the
.htaccessfile
in your document root or to the virtual host configuration:
RewriteEngine on # prevent httpd from serving dotfiles (.htaccess, .svn, .git, etc.) RedirectMatch 403 /\..*$ # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php
2. Nginx
You can use Yii with Nginx and PHP with FPMSAPI. Here is a sample host configuration. It defines the bootstrap file and makes yii catch all requests to unexisting files, which allows us to have nice-looking URLs.
server { set $host_path "/www/mysite"; access_log /www/mysite/log/access.log main; server_name mysite; root $host_path/htdocs; set $yii_bootstrap "index.php"; charset utf-8; location / { index index.html $yii_bootstrap; try_files $uri $uri/ /$yii_bootstrap?$args; } location ~ ^/(protected|framework|themes/\w+/views) { deny all; } #avoid processing of calls to unexisting static files by yii location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php { fastcgi_split_path_info ^(.+\.php)(.*)$; #let yii catch the calls to unexising PHP files set $fsn /$yii_bootstrap; if (-f $document_root$fastcgi_script_name){ set $fsn $fastcgi_script_name; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fsn; #PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fsn; } # prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.) location ~ /\. { deny all; access_log off; log_not_found off; } }
Using this configuration you can set
cgi.fix_pathinfo=0in
php.ini to avoid many unnecessary system stat() calls.
转载地址:http://www.yiiframework.com/doc/guide/1.1/en/quickstart.apache-nginx-config#nginx
相关文章推荐
- linux后台服务器开发环境部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
- 配置Nginx前端Apache后端服务器
- 高性能Web服务器Nginx的配置与部署研究(3)Nginx请求处理机制
- 高性能Web服务器Nginx的配置与部署研究
- 高性能Web服务器Nginx的配置与部署研究(10)核心模块之HTTP模块Location相关指令
- 高性能Web服务器Nginx的配置与部署研究(6)核心模块之主模块的测试常用指令
- 高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“Hello World”
- 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式
- 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令
- 高性能Web服务器Nginx的配置与部署研究(3)Nginx的请求处理机制
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- 高性能Web服务器Nginx的配置与部署研究(4)Nginx常用命令
- nginx和apache服务器下配置数据库信息
- 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令
- 高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置、部署与“Hello World”
- 高性能Web服务器Nginx的配置与部署研究(1)Nginx简介及入门示例
- 高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块
- 高性能Web服务器Nginx的配置与部署研究(5)Nginx配置符号
- 高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块
- 高性能Web服务器Nginx的配置与部署研究(5)Nginx配置符号