Workaround of race condition between systemd and nginx.
jimpop at gmail.com
Wed Dec 30 17:08:40 UTC 2015
On Wed, Dec 30, 2015 at 11:50 AM, Gena Makhomed <gmm at csdoc.com> wrote:
> On 30.12.2015 18:09, Jim Popovitch wrote:
>>> nginx now requires configured and up network, before starting daemon.
>> Specifically it's your configuration.
>> You are hardcoding an IP address to bind to
>> thereby telling nginx to not start until that IP is active.
> Do you know how nginx and systemd work right now?
> You understand race condition between nginx and systemd?
I understand nginx, systemd, and race conditions. I understand why
*you* have a race condition, and I understand why I do not have a race
>> That will prevent nginx from staring in situations where systemd
>> determines that the external network is not yet active (dhcp, etc.,
>> etc), yet nginx may still run perfectly fine with split interfaces,
>> localhost, etc.
> You say, what nginx should work fine if no network available,
Yes, or even if only localhost (lo) exists.
BTW, you can read about how openvpn handled this very issue
> I say what nginx *must* work fine if network *IS* available.
It does, it currently works if the network IS or ISNT available, and
all possibilities in-between.
> So, I need create my own fork, for example, nginx-fixed,
> which I can use with OpenVZ and CentOS 7.2 templates?
No, you can simply modify your local /etc/systemd/system/nginx.service
file to specify a local startup policy.
More information about the nginx-devel