+## nginx
+
+To run CGI under nginx, you need to use a FastCGI wrapper. The wrapper must be started somehow just like any other FastCGI program. You can use launchd on OSX.
+
+In Linux, you will need the spawn-fcgi and fcgiwrap packages and start
+them with:
+
+ spawn-fcgi -s /tmp/fcgi.socket -n -- /usr/sbin/fcgiwrap
+
+This needs to be ran as your user. It can be added to `inittab` or
+made into a startup script in `init.d`. You may also need to make this file writable by the webserver, if that's running as a different user, e.g.:
+
+ chmod a+w /tmp/fcgi.socket
+
+If you have [systemd](https://en.wikipedia.org/wiki/Systemd), you may use a service file like so:
+
+Edit/create a service file (in Debian it would be: `sudo vim /lib/systemd/system/ikiwiki.service`
+
+Content of `ikiwiki.service`:
+
+ [Unit]
+ Description=Ikiwiki fcgi socket wrap
+ After=network.target
+
+ [Service]
+ Type=simple
+ User=www-data
+ Group=www-data
+ ExecStart=/usr/bin/spawn-fcgi -s /tmp/fcgi.socket -n -- /usr/sbin/fcgiwrap
+
+ [Install]
+ WantedBy=multi-user.target
+
+Then run:
+
+ # This enables the service at startup
+ sudo systemctl enable ikiwiki.service
+ # This attempts to start the service
+ sudo systemctl start ikiwiki.service
+
+Then you need an nginx config plugged in that wrapper. Here's an
+example virtual host configuration:
+
+ server {
+ #listen 80; ## listen for ipv4; this line is default and implied
+ #listen [::]:80 default_server ipv6only=on; ## listen for ipv6
+
+ root /home/anarcat/public_html/wiki.reseaulibre.ca/;
+ index index.html index.htm;
+
+ # Make site accessible from http://localhost/
+ server_name wiki.reseaulibre.ca;
+
+ location / {
+ try_files $uri $uri/ /index.html;
+ }
+ location /ikiwiki.cgi {
+ fastcgi_pass unix:/tmp/fcgi.socket;
+ fastcgi_index ikiwiki.cgi;
+ fastcgi_param SCRIPT_FILENAME /home/anarcat/public_html/ikiwiki.cgi;
+ fastcgi_param DOCUMENT_ROOT /home/anarcat/public_html/wiki.reseaulibre.ca;
+ include /etc/nginx/fastcgi_params;
+ }
+ }
+
+Also, note that the `/tmp/fcgi.socket` file needs to be writable by the webserver. I am also unsure as to the security of this setup, as I am using this only on my dev server. Needless to say that [[real fastcgi support|todo/fastcgi_or_modperl_installation_instructions]] would be great. ;) --[[anarcat]]
+
+2016-09-23 [[alexjj]]: On Debian Jessie creating the fcgi ikiwiki.service is not necessary. Install fcgiwrap, it'll auto start the fcgiwrap systemd service and then add the parameters in the virtual host:
+
+ location / {
+ try_files $uri $uri/ =404;
+ }
+
+ # Max size of file upload
+ client_max_body_size 10m;
+
+ location ~ .cgi {
+ #gzip off is recommended in /usr/share/doc/fcgiwrap/README.Debian
+ gzip off;
+ fastcgi_pass unix:/var/run/fcgiwrap.socket;
+ include /etc/nginx/fastcgi_params;
+ }
+
+Here's a [[complete site.conf|tips/nginx]] for nginx if that helps.
+