使用nginx而不是apache设置Joomla时出现随机错误
我正在尝试在我的服务器上建立一个joomla 3实例,我已经在使用nginx和owncloud以及博客平台ghost 我的第一次尝试实际上相当成功,只是在最后一个安装步骤(创建配置文件)中失败了。我认为这是由于权限错误,无法创建该文件。我编写了一个简短的测试脚本,以验证php5 fpm是否在该文件夹中具有写入权限,并且它工作正常 在几次失败的重试和没有日志文件之后,我决定删除该目录并再次下载Joomla。从那时起,一切都不起作用。每次打开zip(新下载或相同)后,我都会遇到以下任意错误情况:使用nginx而不是apache设置Joomla时出现随机错误,nginx,debian,php,joomla3.2,Nginx,Debian,Php,Joomla3.2,我正在尝试在我的服务器上建立一个joomla 3实例,我已经在使用nginx和owncloud以及博客平台ghost 我的第一次尝试实际上相当成功,只是在最后一个安装步骤(创建配置文件)中失败了。我认为这是由于权限错误,无法创建该文件。我编写了一个简短的测试脚本,以验证php5 fpm是否在该文件夹中具有写入权限,并且它工作正常 在几次失败的重试和没有日志文件之后,我决定删除该目录并再次下载Joomla。从那时起,一切都不起作用。每次打开zip(新下载或相同)后,我都会遇到以下任意错误情况:
- 我被重定向到
而不是installation/installation/index.php
installation/index.php
- 我有关于丢失php文件的错误
- 我有关于缺少php类的错误:
- 日本应用库
- JApplicationWebClient
- 某个视图类
sudo chown-R joomla_用户。
- 可选,只有当我与另一个用户下载并解压缩了zip时——你看,我真的尝试了所有可能的组合
sudo chgrp-R www-data.
- nginx作为www数据运行,但joomla_用户不在www数据组中
- 文件和文件夹仅对nginx可读,但不可写。我认为这不是一个问题,因为无论如何,编写都是由php完成的
sudo chmod-R g+s.
- 确保nginx能够读取所有未来上传的文件
server {
listen 80;
server_name joomla.server_url;
root /home/joomla_user/www/joomla3;
index index.php index.html index.htm default.html default.htm;
# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm-joomla_user.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}
php5 fpm池配置基本上是默认配置的复制粘贴,具有更改的套接字名称和名称
总之,php5执行工作正常,权限也允许创建和写入文件(至少在我检查的目录中),但是在安装开始时没有完成之后,现在每次解压joomla3 zip文件后,我都会收到随机错误消息,即使我下载id fresh(并通过wget直接连接到服务器)从他们的网站()
有人有在nginx上使用Joomla的经验吗?知道我如何消除这些错误并使其运行吗
更新:
我的PHP版本是5.4.4:
PHP 5.4.4-14+deb7u8 (cli) (built: Feb 17 2014 09:18:47)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
同样在昨天,我与Joomla开发人员讨论了这个问题,他们提出了目录权限问题,但即使在Joomla目录中执行了
chmod-ru+rw.
,它仍然存在。我没有设法消除错误,但得到了使用.Running/domain.sh add Joomla Joomla\u SERV的建议ER_URL
创建了一个包含所有必要目录的新配置。nginx配置还添加了一个SSL部分,在我的案例中引用了错误的证书文件。修复后,Joomla再次启动并运行
我仍然有第一个问题-Joomla没有完成安装。这是由于太短的fastcgi\u read\u超时(默认为60秒)。将其更改为几分钟后可以正常工作
我最后更改的配置是joomla的nginx配置:
location / {
try_files $uri $uri/ /index.php?$args;
}
改为
location / {
try_files $uri $uri/ /index.php?q=$request_uri;
}
正如。中所述,您是否碰巧使用了PHP5.3?否,5.4-请参阅更新的问题,了解PHP的输出--version