Moodle 2.0与Nginx后端

时间:2011-09-14 22:39:35

标签: php mysql nginx moodle

您好我正在寻找有关如何使用nginx作为服务器配置Moodle 2.0服务器的教程,以及使用mySQL作为后端的PHP-FPM或FastCGI。对不起,如果我混淆服务器架构菜鸟的这些术语。可能会在Ubuntu / Debian机器上运行它

找到了旧版Moodle的教程,其中包含从源代码编译的旧版PHP和PostgreSQL。这会减慢我的部署计划,似乎已被弃用。根据我对MySQL的经验水平,我更喜欢MySQL而不是Postgres。

那里的任何人都可以提出一些更新的建议吗?

3 个答案:

答案 0 :(得分:3)

我为Nginx和Moodle 2撰写了一份文档:http://docs.moodle.org/dev/Install_Moodle_On_Ubuntu_with_Nginx/PHP-fpm

不要忘记在Moodle中将斜杠参数设置为off,否则你将在html编辑器中遇到图像链接问题。

答案 1 :(得分:2)

首先,您需要在nginx上运行php-fpm ... http://www.bytetouch.com/blog/linux/how-to-nginx-with-php-fpm-fastcgi-implementation-on-debian-lenny/

为了更好的性能我使用unix套接字来连接tcp套接字,这里出现unix套接字的配置。 http://andreas-lehr.com/blog/archives/491-nginx-wordpress-php-fpm-on-debian-squeeze.html

我在nginx中使用以下conf for php

            location ~ \.php($|/) {
                    if ($uri ~ "^(.+\.php)(/.*)") {
                            set $script $1;
                            set $path_info $2;
                    }

                    fastcgi_pass    unix:/var/run/php-fpm.sock;
                    fastcgi_param   SCRIPT_FILENAME  $document_root$script;
                    fastcgi_param   SCRIPT_NAME      $script;

                    include        /etc/nginx/fastcgi_params;
            }

你需要更换unix套接字,我不知道debian发行版是否有fastcgi_params包含文件,但无论如何都要手动编写教程

之后,你在nginx服务器上运行php,然后你可以使用moodle和所有你喜欢的php脚本或应用程序。

如果您有疑问,请评论=)。

答案 2 :(得分:1)

我建议您保持斜杠参数 启用,特别是如果您已经上传资源(即SCORM)并将其放入nginx的服务器{}部分虚拟主机

rewrite ^(.*\.php)(/)(.*)$ $1?file=/$3 last;