File: Nginx.php

package info (click to toggle)
icingaweb2 2.12.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,124 kB
  • sloc: php: 73,980; javascript: 5,009; sql: 333; xml: 75; sh: 72; makefile: 5
file content (41 lines) | stat: -rw-r--r-- 940 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */

namespace Icinga\Module\Setup\Webserver;

use Icinga\Module\Setup\Webserver;

/**
 * Generate nginx configuration
 */
class Nginx extends Webserver
{
    protected $fpmUrl = '127.0.0.1:9000';

    protected $enableFpm = true;

    protected function createFpmUri()
    {
        return empty($this->fpmSocketPath) ? $this->fpmUrl : $this->fpmSocketSchema . $this->fpmSocketPath;
    }

    protected function getTemplate()
    {
        return <<<'EOD'
location ~ ^{urlPath}/index\.php(.*)$ {
  fastcgi_pass {fpmUri};
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME {documentRoot}/index.php;
  fastcgi_param ICINGAWEB_CONFIGDIR {configDir};
  fastcgi_param REMOTE_USER $remote_user;
}

location ~ ^{urlPath}(.+)? {
  alias {documentRoot};
  index index.php;
  try_files $1 $uri $uri/ {urlPath}/index.php$is_args$args;
}
EOD;
    }
}