-
Notifications
You must be signed in to change notification settings - Fork 345
nginx configuration
bendem edited this page Oct 9, 2014
·
10 revisions
an example nginx configuration (thanks Mic92). See also this gist.
Please make sure all directories/files in public/ as well as data/favicons are readable to your web server.
If it still doesn't work look into your log files at /var/log/nginx/rss.error.log
.
upstream backend {
server unix:/var/run/php-fpm.sock;
}
server {
listen [::]:80;
listen [::]:443 ssl;
server_name rss.yourdomain.com;
root /var/www/selfoss/;
access_log /var/log/nginx/rss.access.log;
error_log /var/log/nginx/rss.error.log;
location ~* \ (gif|jpg|png) {
expires 30d;
}
location ~ ^/favicons/.*$ {
try_files $uri /data/$uri;
}
location ~ ^/thumbnails/.*$ {
try_files $uri /data/$uri;
}
location ~* ^/(data\/logs|data\/sqlite|config\.ini|\.ht) {
deny all;
}
location / {
index index.php index.html index.htm;
try_files $uri /public/$uri /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
As an alternative which denys more stuff by default, I used the following location block. selfoss is installed at /usr/share/webapps/selfoss
location /selfoss {
root /usr/share/webapps;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ ^/selfoss/$ {
index index.php;
}
location ~ ^/selfoss/favicons/(.+)$ {
try_files /selfoss/data/favicons/$1 =404;
}
location ~ ^/selfoss/(.+)$ {
try_files /selfoss/public/$1 /selfoss/index.php$is_args$args;
}
}
If ever you use nginx as front-end and apache as back end, see this page.