Soylent-www

From SoylentNews
Jump to navigation Jump to search

Basic Information

Web front ends for SoylentNews are the servers hydrogen (198.58.127.22) and fluorine (198.58.127.45). They are load balance using a Linode NodeBalancer that is also the https endpoint for the ssl connections. The NodeBalancer's address is 198.58.121.23. The two web front ends are balanced by a third server boron (173.255.194.21) which runs the slashd daemon.

The three server are connected via a gluster file share of the /srv/soylentnews.org. This allows all three to share a live local version of the same directory. This allows for deployment from one server and having the other two get the files automatically. Also since slashd is continuously updating files, gluster keeps the two front end servers up-to-date. Gluster is preferred over a typical NSF mount as it allows for any two of the server to be turned off and services can be started on the remaining server to keep everything working.


Services that *should* be running:

  • varnish (Cache server for web pages, front ends only)
  • httpd (Slash's Apache web server running on port 2600, front ends only)
  • slashd (Slash's back end maintenance daemon, running on boron only)
  • ipnd (Slash daemon for processing Paypal payments, running on boron only)
  • glusterd (daemon that syncs gluster blocks)
  • glusterfs (mounts the gluster to appropriate mount point)
  • memcached (memory cache for speeding up perl)
  • Note:
  • Only httpd does *not* have an init script, needs to be fired manually via apachectl.

There are several scripts for deployment and maintenance of Slash. They are located in /srv/soylentnews.org/bin/.

Varnish Config

Varnish is a caching reverse proxy that listens on port 80 and proxies traffic to the local apache running on port 2600.

It's current set to cache only status objects: css, js, gif, jpeg, etc.

Nginx Config

No idea, I didn't set this up.

If it's passing to Varnish, it probably won't work because slash is brain-dead about upstream reverse proxies and doesn't really parse the X-Forwarded-For header properly.

If it's passing directly to the local apache, it might work a bit better.

Apache Config

Listening on Port 2600, there is a setting in one of the slash includes to get perl to recognize the XFF header stuff

Slash Config

No Idea, I didn't set this up.

Memcache Config

This caches mysql queries so fewer queries have to go back to the db. I didn't set this up, someone else need to document the config.