Dobrica Pavlinušić's random unstructured stuff
Seaside cluster: Revision 15
seaside.sh



This page documents my attempt to install Seaside as loadbalanced configuration with multiple squeak images under OpenVZ

Create VE

# download template
root@mljac:~# cd /var/lib/vz/template/cache
root@mljac:~# wget http://download.openvz.org/template/precreated/contrib/debian-5.0-i386-minimal.tar.gz

root@mljac:~# vzctl create 1001 --ostemplate debian-5.0-i386-minimal --ipadd 10.0.0.1 --hostname gw.rot13.org

# configure
root@mljac:~# vzctl set 1011 --nameserver 192.168.1.2 --save

Use something like vz-nat.sh to configure NAT on your OpenVZ machine.

Seaside

# dependencies

root@seaside:/srv# apt-get install unzip

root@seaside:/srv# wget -nd -nH http://www.seaside.st/distributions/Seaside-2.8.3.app.zip
root@seaside:/srv# unzip Seaside-2.8.3.app.zip 
Archive:  Seaside-2.8.3.app.zip

root@seaside:/srv# ln -s Seaside-2.8-578.app seaside


Adding new group `squeak' (1000) ...
Adding new user `squeak' (1000) with group `squeak' ...
Not creating home directory `/home/squeak'.

root@seaside:/srv# chown -R squeak:squeak Seaside-2.8-578.app/

Startup

Seaside.sh - use something like this script to start headless squeak.

Actual -headless option didn't seem to work for me

Front-end HTTP proxy



Links

Compilation and packaging

dpavlin@llin:/rest/unix/www$ wget http://sysoev.ru/nginx/nginx-0.7.31.tar.gz

dpavlin@llin:/rest/unix/www$ tar tvfz nginx-0.7.31.tar.gz

dpavlin@llin:/rest/unix/www/nginx-0.7.31$ ./configure --with-http_ssl_module --prefix=/srv/nginx

make

sudo checkinstall


Installation

root@seaside:~# dpkg -i nginx_0.7.31-1_i386.deb 
Selecting previously deselected package nginx.
(Reading database ... 8333 files and directories currently installed.)
Unpacking nginx (from nginx_0.7.31-1_i386.deb) ...
Setting up nginx (0.7.31-1) ...
root@seaside:~# cd /srv/nginx/

Changes

fetchrss: http://git.rot13.org/?p=nginx.git;a=rss
  • There was an error: Cannot detect feed type



Monitoring

We will be using monit, light-weight process monitor written in C to monitor servers on our virtual machine. It will do startup of our services, monitor load and report alerts.

For it to work, we need to have a script which will start/stop squeak.

Use following configuration:

  1. check syntax

root@seaside:~# /etc/init.d/monit syntax
Control file syntax OK

* "monit@squeak1"<http://seaside.rot13.org:2812/> to view current server status

^^ Test

open "http://hostname:8080/seaside/"<http://seaside.rot13.org:8080/seaside/> to test seaside

^ More info

* http://onsmalltalk.com/scaling-seaside-more-advanced-load-balancing-and-publishing
* http://blog.blobworks.com/2008/12/16/squeak-in-jail/

* https://bytesmith.seework.com