[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