[squid-users] Can't start Squid with workers via systemd on CentOS 7

Alex Rousskov rousskov at measurement-factory.com
Thu Mar 9 14:57:55 UTC 2017


On 03/09/2017 07:00 AM, 段垚 wrote:
> I installed Squid 4.0.18 on CentOS 7 X86_84 according to
> http://wiki.squid-cache.org/KnowledgeBase/CentOS#Squid_Beta_release
> 
> I add a line "workers 2" to `/etc/squid/squid.conf` (just a copy of
> `squid.conf.default`)
> and start squid via `systemctl start squid`, It seems squid is running,
> except that it is not listening to the port 3128 (confirmed by netstat).
> 
> However, if I start squid in command line (`squid -sYC`), squid does
> listen to port 3128.
> 
> There are some differences in `/var/log/squid/cache.log` for these two
> cases:
> 
> * start via `systemctl start squid`:
> 
>   2017/03/09 21:12:54 kid3| commBind Cannot bind socket FD 12 to [::]: (98) Address already in use
>   2017/03/09 21:12:54 kid2| commBind Cannot bind socket FD 21 to [::]: (98) Address already in use
>   2017/03/09 21:12:54 kid1| commBind Cannot bind socket FD 21 to [::]: (98) Address already in use
> 
> * start via `squid -sYC`:
> 
>   2017/03/09 21:19:28 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 15 flags=1
>   2017/03/09 21:19:28 kid2| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 15 flags=1
> 
> The full logs are attached. Please help.

Most likely, your systemctl script for Squid is broken. I do not know
about CentOS 7 specifically, but many older scripts often start two
modern Squids at once due to various backward compatibility problems
with Squid startup interface and the way those scripts were written.
Study/log what that script does and you will probably find the answer to
your question.

HTH,

Alex.



More information about the squid-users mailing list