[Mongrel] Log problem on stop/restart

Dwayne Purper dwayne at futmedia.com
Mon Dec 4 11:35:24 EST 2006


I'm using the mongrel_cluster recipes for Capistrano as laid out by  
codahale.com and the new ed. of the Agile Development book, but I'm  
having problems on restart and stop:

I can start:

[root current]# mongrel_rails cluster::start
Starting 3 Mongrel servers...


And I can see 3 processes running:

[root current]# ps aux | grep mongrel
mongrel   1947  0.0  8.2  24684 10776 ?        S    Dec01   0:00 /usr/ 
local/bin/ruby /usr/local/bin/mongrel_rails start -d -e production -p  
8000 -a 127.0.0.1 -P log/mongrel.8000.pid -c /var/www/apps/central -- 
user mongrel --group mongrel --prefix /central
mongrel   1950  0.0 12.4  24716 16336 ?        S    Dec01   0:00 /usr/ 
local/bin/ruby /usr/local/bin/mongrel_rails start -d -e production -p  
8001 -a 127.0.0.1 -P log/mongrel.8001.pid -c /var/www/apps/central -- 
user mongrel --group mongrel --prefix /central
mongrel   1953  0.0 12.0  24696 15768 ?        S    Dec01   0:00 /usr/ 
local/bin/ruby /usr/local/bin/mongrel_rails start -d -e production -p  
8002 -a 127.0.0.1 -P log/mongrel.8002.pid -c /var/www/apps/central -- 
user mongrel --group mongrel --prefix /central
root      6687  0.0  0.5   3912   688 pts/1    R+   05:21   0:00 grep  
mongrel


But when I check the page, I get a 404:

[root current]# curl -I http://127.0.0.1:8000
HTTP/1.1 404 Not Found
Connection: close
Server: Mongrel 0.3.18


When I stop (or restart), I get .pid does not exist messages:

[root current]# mongrel_rails cluster::stop
Stopping 3 Mongrel servers...
!!! PID file log/mongrel.8000.pid does not exist.  Not running?
mongrel::stop reported an error. Use mongrel_rails mongrel::stop -h  
to get help.
mongrel_rails stop -P log/mongrel.8000.pid -c /var/www/apps/central/ 
current

!!! PID file log/mongrel.8001.pid does not exist.  Not running?
mongrel::stop reported an error. Use mongrel_rails mongrel::stop -h  
to get help.
mongrel_rails stop -P log/mongrel.8001.pid -c /var/www/apps/central/ 
current

!!! PID file log/mongrel.8002.pid does not exist.  Not running?
mongrel::stop reported an error. Use mongrel_rails mongrel::stop -h  
to get help.
mongrel_rails stop -P log/mongrel.8002.pid -c /var/www/apps/central/ 
current


So is it a permissions issue?

Permissions for current directory have log owned by dwayne:dwayne ... :

[root current]# ls -l
total 60
drwxr-xr-x 7 dwayne dwayne 4096 Dec  5 05:06 app
drwxr-xr-x 3 dwayne dwayne 4096 Dec  5 05:06 components
drwxr-xr-x 4 dwayne dwayne 4096 Dec  5 05:06 config
drwxr-xr-x 4 dwayne dwayne 4096 Dec  5 05:06 db
drwxr-xr-x 3 dwayne dwayne 4096 Dec  5 05:06 doc
drwxr-xr-x 4 dwayne dwayne 4096 Dec  5 05:06 lib
lrwxrwxrwx 1 dwayne dwayne   32 Dec  5 05:06 log -> /var/www/apps/ 
central/shared/log
drwxr-xr-x 6 dwayne dwayne 4096 Dec  5 05:06 public
-rw-r--r-- 1 dwayne dwayne  307 Dec  5 05:06 Rakefile
-rw-r--r-- 1 dwayne dwayne 7264 Dec  5 05:06 README
drwxr-xr-x 5 dwayne dwayne 4096 Dec  5 05:06 script
drwxr-xr-x 8 dwayne dwayne 4096 Dec  5 05:06 test
drwxr-xr-x 6 dwayne dwayne 4096 Dec  5 05:06 tmp
-rw-r--r-- 1 dwayne dwayne 1930 Dec  5 05:06 TODO
drwxr-xr-x 4 dwayne dwayne 4096 Dec  5 05:06 vendor


But that's a symlink to shared directory created by Capistrano. I  
changed the shared log directory in /var/www/apps/central/shared/log  
to group mongrel, but that doesn't seem to help:

[root current]# ls -l /var/www/apps/central/shared
total 12
drwxrwxrwx 2 dwayne mongrel 4096 Dec  5 03:08 log
drwxrwxrwx 2 dwayne dwayne  4096 Dec  4 16:01 pids
drwxrwxr-x 2 dwayne dwayne  4096 Dec  4 16:01 system


I changed existing mongrel.log to group mongrel also:

[root current]# ls -l /var/www/apps/central/shared/log
total 76
-rw-r--r-- 1 root   root       73 Dec  4 16:24 development.log
-rw-rw-rw- 1 dwayne mongrel 67050 Dec  5 05:20 mongrel.log


It seems like mongrel_cluster should have what it needs to create the  
pid files. What am I missing?

Thanks for any help. I know others have had this .pid issue, but from  
what I've read, it usually involves not starting the cluster from the  
proper directory or with proper permissions.

--
Dwayne


More information about the Mongrel-users mailing list