Friday, May 3, 2013

SPDY with NGINX 1.4.0 on Fedora 18 - Tiny Tiny RSS

I've seen many postings regarding the activation of SPDY with Tiny Tiny RSS - quite a few people seem to have installation/configuration problems.

With the recent release of NGINX 1.4.0, SPDY support is included so you don't have to do it manually.  NGINX 1.4.0 will be included with Fedora 19, which will be available in July.

I pulled the spec file from the fedora testing repository and created a build for Fedora 18.  It is available here:  nginx-1.4.0-2.fc18.x86_64.rpm

If you are already running NGINX on Fedora 18 with the current repository rpm all you need do is:  yum upgrade nginx-1.4.0-2.fc18.x86_64.rpm

If not, I highly recommend you first follow these instructions by David Strauss
Tiny Tiny RSS on Fedora 18

A few notes about the install:
  • Remember if you are converting from apache you need to stop and disable the apache service before trying to install nginx
  • I recently installed Fedora on a new computer and did not install Apache, so I made sure that /var/www was set to nginx:nginx.  You also need to edit /etc/php-fpm.d/www.conf and change the user/group parameters in that file from apache to nginx
  • If you don't already have mysql installed, you may wish to install postgresql instead since it has better performance than mysql or mariadb.  I have a post which has more information. 
  • Pay attention to the root settings in ttrss.conf - if you want to specify ttrss in your URL (https://localhost/ttrss), you need to make the root /var/www/html instead of /var/www/html/ttrss - I use /var/www/html in my version of ttrss.conf

After the upgrade to nginx-1.4.0 is complete, change the ttrss.conf file in David's example as follows:

Change:
listen 443; to listen 443 ssl spdy; #Turn SPDY on

Then insert the following line directly after:
spdy_headers_comp 7; #Compress your headers

You can find the explanation of these settings here:
NGINX SPDY Reference Page

Alternatively, you can just download the file here and place it in your
/etc/nginx/conf.d directory:  ttrss.conf

Now you can restart your nginx service:
systemctl restart nginx.service

If you wish you can test by installing an addon which is available for either Firefox or Chrome:

Firefox SPDY Indicator

Chrome SPDY Indicator

Have fun!