Message ID | 1462132345-28253-5-git-send-email-martin@barkynet.com |
---|---|
State | Superseded |
Headers | show |
Hello, On Sun, 1 May 2016 20:52:25 +0100, Martin Bark wrote: > -ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' > +ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' Isn't: ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' a better solution? According to man systemd.service: ExecStartPre=, ExecStartPost= Additional commands that are executed before or after the command in ExecStart=, respectively. Syntax is the same as for ExecStart=, except that multiple command lines are allowed and the commands are executed one after the other, serially. (To be tested, I don't know much about systemd). Thanks! Thomas
Thomas, On 1 May 2016 at 22:47, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Hello, > > On Sun, 1 May 2016 20:52:25 +0100, Martin Bark wrote: > >> -ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' >> +ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' > > Isn't: > > ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx > ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' > > a better solution? Yes you are right, that will work and i agree it looks neater. I'll update the patch and resubmit. Thanks Martin > > According to man systemd.service: > > ExecStartPre=, ExecStartPost= > Additional commands that are executed before or after the command > in ExecStart=, respectively. Syntax is the same as for ExecStart=, > except that multiple command lines are allowed and the commands are > executed one after the other, serially. > > (To be tested, I don't know much about systemd). > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com
diff --git a/package/nginx/nginx.service b/package/nginx/nginx.service index 619755f..2ea4ff7 100644 --- a/package/nginx/nginx.service +++ b/package/nginx/nginx.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=forking PIDFile=/var/run/nginx.pid -ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' +ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;' -s reload ExecStop=/usr/sbin/nginx -g 'pid /var/run/nginx.pid;' -s quit
When using systemd nginx fails to start with the error /usr/bin/mkdir: invalid option -- 't' This is due to a missing space before the semicolon in nginx.service. For systemd to handle multiple commands in ExecStartPre it requires the semicolon to be a separate word. This commit adds the missing space. Signed-off-by: Martin Bark <martin@barkynet.com> --- package/nginx/nginx.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)