У меня есть служба SaaS webapp, поэтому каждый раз, когда новый клиент регистрируется в моем приложении регистрации, он создает новый поддомен и новый файл конфигурации виртуального хоста apache, чтобы включить эту конфигурацию, мне нужно перезапустить apache (работает на порту 8080), как бы то ни было, если я попытаюсь бежать /etc/init.d/apache2 restart
или apache2ctl restart
под www-data (это пользователь, который запускает мое приложение) я получаю следующую ошибку:
Address already in use: make_sock: could not bind to address 0.0.0.0:8080
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Как я могу автоматически перезапустить apache?
ОС - это Ubuntu Server 10.10
Вы можете добавить это в свой файл sudoers, а затем просто использовать sudo для вызова команды перезапуска apache.
Cmnd_Alias AP2RESTART=/etc/init.d/apache2
www-data ALL=NOPASSWD: AP2RESTART