在 nginx + hhvm 上更改文档源根目录?

在 nginx + hhvm 上更改文档源根目录?

我正在尝试配置 hhvm 和 nginx 来处理 /home/ubuntu/www/www.mysite.com 目录中的 php 文件

  • 首先我从 apt get 安装了 hhvm 和 nginx,它在默认目录中运行良好

  • 然后我将 /etc/nginx/hhvm.conf 的 fastcgi 配置从

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param  SCRIPT_FILENAME /home/ubuntu/www/www.mysite.com$fastcgi_script_name;

然后我将源根添加到 vim /etc/hhvm/server.ini

hhvm.server.source_root = /home/ubuntu/www/www.mysite.come

然后重新启动了 nginx 和 hhvm,但我仍然从默认 Web 根目录获取 php 文件,而不是从 /home/ubuntu/www/www.mysite.come 获取

这是虚拟主机的配置文件

    server {
listen 80;

server_name  www.mysite.se;

        access_log /var/log/www.mysite.se.access_log;
        error_log /var/log/www.mysite.se.error_log;

location / {
root   /home/ubuntu/www/www.mysite.se;
index  index.php index.htm;

if (!-f $request_filename){
        set $rule_1 1$rule_1;
}
if (!-d $request_filename){
        set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
        rewrite /. /index.php last;
}
}

#include hhvm.conf;

        location ~ \.php$ {
    fastcgi_keep_conn on;
    fastcgi_pass   127.0.0.1:9000;
#                fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /home/ubuntu/www/www.mysite.se$fastcgi_script_name;
                include fastcgi_params;
        }


}

当我发出请求时,html 文件从 /home/ubuntu/www/www.mysite.se 加载,没有任何问题,但 php 文件却从默认 nginx 文件夹加载

答案1

nginx 网站配置文件中的问题

根需要位于服务器块中,而不是位置块中。

对于那些愿意使用 hhvm 配置 nginx 的人来说,这里是如何操作的。

我建议你使用 ubuntu。

服务器 { 监听 80;

server_name  www.mysite.se;
root   /home/ubuntu/www/www.mysite.se;

        access_log /var/log/www.mysite.se.access_log;
        error_log /var/log/www.mysite.se.error_log;

location / {
index  index.php index.htm;

if (!-f $request_filename){
        set $rule_1 1$rule_1;
}
if (!-d $request_filename){
        set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
        rewrite /. /index.php last;
}
}

#include hhvm.conf;

        location ~ \.php$ {
    fastcgi_keep_conn on;
    fastcgi_pass   127.0.0.1:9000;
#                fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /home/ubuntu/www/www.mysite.se$fastcgi_script_name;
                include fastcgi_params;
        }


}

相关内容