First of all, nginx doesn’t use .htaccess (that’s an Apache file). Secondly, the config you posted appears to be missing a few pieces of information, such as how to process php files.
Speaking of PHP, you’ll need to know if your fastcgi_pass is setup to use ports or sockets. The code toddsby linked is assuming sockets, and i’ll link one for ports.
Assuming your server name is “yoursite.local” rather than “documentation”, consider the following:
listen 80;
server_name yoursite.local;
root /srv/www/kirby;
index index.php index.html;
That section tells nginx which port the server is listening on, the domain name it’s responding to, the location of server files, and the default files to serve if not specified by the web browser.
location ~ ^/content/(.*).(txt|md|mdown)$ {
rewrite ^/content/(.*).(txt|md|mdown)$ /error redirect;
}
location ~ ^/site/(.*)$ {
rewrite ^/site/(.*)$ /error redirect;
}
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
location /panel {
try_files $uri $uri/ /panel/index.php?$uri&&$args;
}
location ~ /\.ht {
deny all;
}
Those are the various rules found in the .htaccess file, but rewritten for nginx.
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
This tells nginx what to do with PHP files (pass them to fastcgi, which is listening on port 9000).
All of that would go in your server block.
The big question, however, is why your configuration is attempting to serve ssl pages. My guess is that if you were to look in your sites-available directory for nginx, you’ll find multiple server configurations that are overlapping on basic settings like listening ports and server names. Check that directory and see what you have setup.