FAQ

Page Discussion History

Difference between revisions of "Pyrocms"

(pyrocms)
(Nginx recognizes dots as placeholders, not as actual dots. This caused some bizarre behavior for some folks, though blogs have been posted with a resolution, it's better to come and just fix it.)
 
(2 intermediate revisions by 2 users not shown)
Line 10: Line 10:
  
 
<geshi lang="nginx">
 
<geshi lang="nginx">
server  
+
server {
{
+
        listen 80;
    listen *:80;
+
        server_name domain.com;
    server_name yourdomain.com www.yourdomain.com;
+
        root /path/to/webroot;
    index index.php;
+
        index index.php;
    root  /path/to/your_html;
+
 
    location /installer/
+
        access_log  /path/to/logs/access.log  main;
    {
+
        error_log  /path/to/logs/error.log;
            if (-f $request_filename) {
+
 
                    expires max;
+
        client_max_body_size 200M;
                    break;
+
 
            }
+
        gzip  on;
            if (!-e $request_filename) {
+
        gzip_static on;
                    rewrite ^/installer/(.*)$ /installer/index.php/$1 last;
+
        gzip_http_version 1.0;
            }
+
        gzip_disable "MSIE [1-6].";
    }
+
        gzip_vary on;
    location /installer/index.php
+
 
    {
+
        gzip_comp_level 9;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
+
        gzip_proxied any;
            include /path/to/your/nginx/conf/fastcgi_params;
+
        gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
            fastcgi_index  index.php;
+
 
            fastcgi_param  SCRIPT_FILENAME  /path/to/your_html/installer/index.php;
+
        fastcgi_buffers 8 16k;
            fastcgi_param  REQUEST_URI      $request_uri;
+
        fastcgi_buffer_size 32k;
            fastcgi_param  QUERY_STRING    $query_string;
+
        fastcgi_read_timeout 180;
            fastcgi_param  REQUEST_METHOD  $request_method;
+
 
            fastcgi_param  CONTENT_TYPE    $content_type;
+
        location / {
            fastcgi_param  CONTENT_LENGTH  $content_length;
+
                try_files $uri $uri/ /index.php;
 +
        }
 +
 
 +
         location /installer {
 +
                try_files $uri $uri/ /installer/index.php;
 +
        }
 +
 
 +
        fastcgi_intercept_errors off;
 +
 
 +
        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
 +
                expires max;
 +
                add_header Pragma public;
 +
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
 +
        }
 +
 
 +
        location ~ \.php {
 +
                fastcgi_pass   unix:/tmp/domain.sock;
 +
                fastcgi_split_path_info ^(.+\.php)(.*)$;
 +
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 +
                include        fastcgi_params;
 +
        }
 +
 
 +
        include drop.conf;
 +
}
 +
</geshi>
  
            fastcgi_connect_timeout 60;
+
Fastcgi Params:
            fastcgi_send_timeout 180;
+
<geshi lang="nginx">
            fastcgi_read_timeout 180;
+
fastcgi_param  QUERY_STRING       $query_string;
            fastcgi_buffer_size 128k;
+
fastcgi_param  REQUEST_METHOD     $request_method;
            fastcgi_buffers 4 256k;
+
fastcgi_param  CONTENT_TYPE       $content_type;
            fastcgi_busy_buffers_size 256k;
+
fastcgi_param  CONTENT_LENGTH     $content_length;
            fastcgi_temp_file_write_size 256k;
+
 
            fastcgi_intercept_errors on;
+
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
 +
fastcgi_param  REQUEST_URI        $request_uri;
 +
fastcgi_param  DOCUMENT_URI       $document_uri;
 +
fastcgi_param  DOCUMENT_ROOT      $document_root;
 +
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 +
 
 +
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
 +
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 +
 
 +
fastcgi_param  REMOTE_ADDR        $remote_addr;
 +
fastcgi_param  REMOTE_PORT        $remote_port;
 +
fastcgi_param  SERVER_ADDR        $server_addr;
 +
fastcgi_param  SERVER_PORT        $server_port;
 +
fastcgi_param  SERVER_NAME        $server_name;
 +
 
 +
# PHP only, required if PHP was built with --enable-force-cgi-redirect
 +
fastcgi_param  REDIRECT_STATUS    200;
 +
 
 +
fastcgi_connect_timeout 60;
 +
fastcgi_send_timeout 180;
 +
fastcgi_read_timeout 180;
 +
fastcgi_buffer_size 128k;
 +
fastcgi_buffers 4 256k;
 +
fastcgi_busy_buffers_size 256k;
 +
fastcgi_temp_file_write_size 256k;
 +
fastcgi_intercept_errors off;
 +
</geshi>
  
            fastcgi_pass  127.0.0.1:9000;
+
drop.conf
    }
+
<geshi lang="nginx">
    location /
+
location = /robots.txt  { access_log off; log_not_found off; }
    {
+
location = /favicon.ico { access_log off; log_not_found off; }
            if ($request_filename !~ (js|css|images|img|robots\.txt|index\.php.*) ) {
+
location ~ /\.          { access_log off; log_not_found off; deny all; }
                    rewrite ^/(.*)$ /index.php/$1 last;
+
location ~ ~$           { access_log off; log_not_found off; deny all; }
            }
+
</geshi>
    }
+
    location ~ /index.php/
+
    {
+
            root  /path/to/your_html;
+
            fastcgi_split_path_info ^(.+\.php)(.*)$;
+
            include /path/to/your/nginx/conf/fastcgi_params;
+
            fastcgi_index  index.php;
+
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
+
            fastcgi_param  REQUEST_URI      $request_uri;
+
            fastcgi_param  QUERY_STRING    $query_string;
+
            fastcgi_param  REQUEST_METHOD  $request_method;
+
            fastcgi_param  CONTENT_TYPE    $content_type;
+
            fastcgi_param  CONTENT_LENGTH  $content_length;
+
  
            fastcgi_connect_timeout 60;
+
PHP-FPM Pool (If using PHP-FPM with unix sockets)
            fastcgi_send_timeout 180;
+
<geshi lang="nginx">
            fastcgi_read_timeout 180;
+
[domain]
            fastcgi_buffer_size 128k;
+
listen = /tmp/domain.sock
            fastcgi_buffers 4 256k;
+
listen.allowed_clients = 127.0.0.1
            fastcgi_busy_buffers_size 256k;
+
 
            fastcgi_temp_file_write_size 256k;
+
user = someuser
            fastcgi_intercept_errors on;
+
group = someuser
 
+
 
            fastcgi_pass  127.0.0.1:9000;
+
pm = dynamic
    }
+
 
    error_page  500 502 503 504  /50x.html;
+
pm.max_children = 25
    location = /50x.html {
+
pm.start_servers = 2
          root  /path/to/your/nginx/html;
+
pm.min_spare_servers = 2
    }
+
pm.max_spare_servers = 25
}
+
 
 +
php_admin_value[error_log] = /var/log/php-fpm/domain-error.log
 +
php_admin_flag[log_errors] = on
 +
php_admin_value[session.save_path] = /tmp/
 
</geshi>
 
</geshi>

Latest revision as of 10:13, 6 January 2013

pyrocms

Edit /installer/config/config.php:

$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI";

Edit /system/cms/config/config.php

$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI";
server {
        listen 80;
        server_name domain.com;
        root /path/to/webroot;
        index index.php;
 
        access_log  /path/to/logs/access.log  main;
        error_log  /path/to/logs/error.log;
 
        client_max_body_size 200M;
 
        gzip  on;
        gzip_static on;
        gzip_http_version 1.0;
        gzip_disable "MSIE [1-6].";
        gzip_vary on;
 
        gzip_comp_level 9;
        gzip_proxied any;
        gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
 
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        fastcgi_read_timeout 180;
 
        location / {
                try_files $uri $uri/ /index.php;
        }
 
         location /installer {
                try_files $uri $uri/ /installer/index.php;
        }
 
        fastcgi_intercept_errors off;
 
        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
 
        location ~ \.php {
                fastcgi_pass   unix:/tmp/domain.sock;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
 
        include drop.conf;
}

Fastcgi Params:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
 
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors off;

drop.conf

location = /robots.txt  { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }
location ~ /\.          { access_log off; log_not_found off; deny all; }
location ~ ~$           { access_log off; log_not_found off; deny all; }

PHP-FPM Pool (If using PHP-FPM with unix sockets)

[domain]
listen = /tmp/domain.sock
listen.allowed_clients = 127.0.0.1
 
user = someuser
group = someuser
 
pm = dynamic
 
pm.max_children = 25
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 25
 
php_admin_value[error_log] = /var/log/php-fpm/domain-error.log
php_admin_flag[log_errors] = on
php_admin_value[session.save_path] = /tmp/