Search squid archive

Re: Squid does not start/shutdown properly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



david.kauffmann@xxxxxxxxxxxxx wrote:
I have two machines, both running squid3. One runs stable1 and the other stable19. The one running stable1 is on a virtual machine.
When i execute /etc/init.d/squid3 on both machines, this is what i get on

stable1:
/etc/init.d/squid3
Usage: /etc/init.d/squid3 {start|stop|reload|force-reload|restart}

Init scripts are not supplied with Squid. They are a nicety added by the distribution. /path/to/squid -k shutdown is the supported/expected method of stopping Squid. That said...

stable19:
/etc/init.d/squid3
Usage: /etc/init.d/squid3 { start | stop }

Sometimes when i start the stable19 system, squid doesn't start giving me an error, that there's already a running squid process. i suspect this has something to do with squid not shutting down properly.

When i stop squid using /etc/init.d/squid3 stop on both machines, i get no response at all on the stable19 platform.
But on the stable1 machine i get this when i stop squid:

/etc/init.d/squid3 stop
 * Stopping Squid HTTP Proxy 3.0 squid3
 *  Waiting...
 * ...
 * ...
 * ...
 * ...
 * ...
 * ...                                                                   [ OK ]
                                                                         [ OK ]

Either the init scripts on the two servers are different, or the compile options put an executable or a PID file in a location not expected by the init script.

I compiled the squid stable19 version myself. here are the compiler options:
 Version 3.0.STABLE19
configure options:  '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking' '--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd' '--enable-removal-policies=lru,heap' '--enable-poll' '--enable-delay-pools' '--enable-cache-digests' '--enable-snmp' '--enable-htcp' '--enable-select' '--enable-carp' '--enable-large-files' '--enable-underscores' '--enable-icap-client' '--enable-auth=basic,digest,ntlm' '--enable-basic-auth-helpers=all' '--enable-ntlm-auth-helpers=SMB' '--enable-digest-auth-helpers=ldap,password' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--with-filedescriptors=65536' '--with-default-user=proxy' '--enable-epoll' '--enable-linux-netfilter' 'build_alias=i486-linux-gnu' 'CC=cc' 'CFLAGS=-g -O2 -g -Wall -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS=' 'CXX=g++' 'CXXFLAGS=-g -O2 -g -Wall -O2' 'FFLAGS=-g -O2' '--enable-http-violations'
The VM compiler options look like this:
Version 3.0.STABLE1
configure options:  '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking' '--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,coss,diskd' '--enable-removal-policies=lru,heap' '--enable-poll' '--enable-delay-pools' '--enable-cache-digests' '--enable-snmp' '--enable-htcp' '--enable-select' '--enable-carp' '--enable-large-files' '--enable-underscores' '--enable-icap-client' '--enable-auth=basic,digest,ntlm' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM' '--enable-ntlm-auth-helpers=SMB' '--enable-digest-auth-helpers=ldap,password' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--with-filedescriptors=65536' '--with-default-user=proxy' '--enable-epoll' '--enable-linux-netfilter' 'build_alias=i486-linux-gnu' 'CC=cc' 'CFLAGS=-g -O2 -g -Wall -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS=' 'CXX=g++' 'CXXFLAGS=-g -O2 -g -Wall -O2' 'FFLAGS=-g -O2'

Do i have to reconfigure and rebuild my squid to get the same behaviour on both machines?

Probably not. Check the init script for mention of a PID file. Then have a look at http://www.squid-cache.org/Doc/config/pid_filename/.

My assumption (based on the way my init scripts work) is that the script sends a shutdown signal to Squid and then periodically (once a second or so) checks for the presence of the PID file, writing out a period if it still exists. When Squid quits, it should remove the PID file. Once the PID file disappears the shutdown is successful. If the PID file is not where the init script expects, when the script is called to shut down Squid, it appears to not be running, so the script just exits.

 is there an option that controls this behaviour in the squid.conf?

D. K.
--
IT-PARTNER - Martin U. Haneke
Fichtestraße 26
10967 Berlin
Tel: +49(30)200055-0
Tel: +49(30)200055-39

Chris




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux