我正在尝试在我的本地计算机 (Win8x64) 上设置 Zurmo CRM。安装完所有要求后,我想开始实际安装。问题是路径似乎没有从 NGinx 正确传递到 FastCGI PHP。这是我的 Nginx 服务配置:
server {
listen 80;
server_name zurmo.local;
root html/zurmo.local;
set $index "index.php";
charset utf-8;
location / {
index index.html $index;
try_files $uri $uri/ /$index?$args;
}
location ~ ^/(protected|framework|themes/\w+/views) {
deny all;
}
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(.*)$;
set $fsn /$index;
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;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
}
location ~ /\.ht {
deny all;
}
}
因此,当我调用 zurmo.local(添加到主机文件)时,我得到“此网页有一个重定向循环”,其 URI 看起来像这样 http://zurmo。 local/app/app/[...]/app/app/index.php
如果不是 $document_root$fsn
我评论 PATH_INFO
和PATH_TRANSLATED
比我得到 No input file specified.
的 URI 看起来像 http://zurmo.local/app/app/index.php
进一步查看,当我添加 access_log html/zurmo.local/logs/access.log;
时,Nginx error.log
向我显示以下内容:[timestamp] [emerg] 4064#3660: CreateFile() "[path to stack]\nginx/html/zurmo.local/logs/access.log"失败(3:系统找不到指定的路径)
。如您所见,目录分隔符不一致。
最后一点,我的 Nginx 主目录位于 nginx/html
这实际上是 ../home
的 smlink 这纯粹是为了保存我的文件以适合我日常工作的方式构建。
如何正确配置 Nginx 以便继续(使用 Zurmo 安装)?
最佳答案
我知道这是一个老问题,但这是我为使 nginx + zurmo 工作所做的工作。
server {
listen 80;
server_name zurmo.local;
root /home/www/zurmo.local;
access_log /var/log/nginx/zurmo.access.log main;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ ^/(protected|framework|themes/\w+/views) { deny all; }
location ~ /\. { deny all; access_log off; log_not_found off; }
location = /favicon.ico { log_not_found off; access_log off; }
location ~ \.(js|css|png|jpg|gif|ico|pdf|zip|rar)$ {
try_files $uri =404;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_read_timeout 600s;
fastcgi_send_timeout 600s;
}
}
关于php - 如何为 PHP 正确配置 Nginx(Yii 框架和 Zurmo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502866/