server {
                listen       127.0.0.1:80;
                server_name  _;
                access_log  /var/log/nginx/nginx-userdirs-access.log  main;
 
                location ~ ^/~(.+?)(/.*)?$ {
                        alias /home/$1/public_html$2;
                }
}
http://localhost/~user/test.html
Veröffentlicht unter nginx.

nginx
sites-available/default

    location = /index.php {
        include php.conf;

        fastcgi_pass php-fpm_mbeck;

        fastcgi_param PHP_ADMIN_FLAG "log_errors=on";
        fastcgi_param PHP_FLAG "display_errors=off";
    }


    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

php.conf

fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
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;

upstreams/php-fpm_mbeck

# Upstream to abstract backend connection(s) for php
upstream php-fpm_mbeck {
        server unix:/tmp/php-fpm_mbeck.sock;
}

php-fpm
pool.d/mbeck.conf

[mbeck]
listen = /tmp/php-fpm_mbeck.sock
listen.backlog = -1
listen.owner = mbeck
listen.group = mbeck
listen.mode = 0666


user = mbeck
group = mbeck

pm = dynamic
pm.max_children = 100
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 1000

Um mit einem Apache Webserver und einer .htaccess Datei HTTPS zu erzwingen, brauch man nur folgendes Snippet in die .htaccess Datei einfügen:

Veröffentlicht unter Apache.

Ich hatte das Problem, das auf meinem Server jede Subdomain ihre eigene Verzeichnisstruktur hat, und ich somit für jede Subdomain eigenes log/tmp/session Verzeichnisse nutzen möchte.

Deshalb musste ich für jede Subdomain einen PHP-FPM Pool laufen lassen, um dort die jeweiligen Einstellungen vorzunehmen.

Nun habe ich entdeckt, das man diese Einstellungen mit nginx durchreichen kann. Was mir ermöglicht, nur noch pro User (wegen Berechtigungen etc.) einen PHP-FPM Pool laufen zu lassen.

Weiterlesen

So kann man mit nginx einen Permanenten Redirect von *.domain.tld auf eine beliebige andere URL erstellen

server {
    listen 85.14.203.9:80;
    server_name mbeck.org *.mbeck.org;

    rewrite ^ http://blog.mbeck.org permanent;
}
Veröffentlicht unter nginx.