В Nginx действительно есть возможность указать пользователя и группу, от имени которых будет работать процесс. Однако, если логи slowlog создаются с правами `root`, это может быть связано с тем, что Nginx запущен от имени пользователя root, и вы не указали нужный путь до файла журнала в конфигурации.
Вот несколько шагов, которые вы можете предпринять:
1. **Проверьте права доступа к директории**: Убедитесь, что директория, в которую вы записываете свой slowlog (например, /var/log/nginx/), имеет права, позволяющие нужному пользователю записывать файлы. Например, установите нужные права с помощью команды:
```bash
sudo chown -R www-data:www-data /var/log/nginx
sudo chmod -R 755 /var/log/nginx
```
Здесь `www-data` - пользователь, от имени которого должен работать Nginx. Замените его на соответствующего вашему окружению.
2. **Укажите правильного пользователя в конфигурации Nginx**: В конфигурационном файле Nginx необходимо убедиться, что указаны правильные параметры `user` и `group`. Это обычно находится в `/etc/nginx/nginx.conf`:
```nginx
user www-data; # убедитесь, что вы указали нужного пользователя
group www-data;
```
3. **Проверьте конфигурацию slowlog**: Убедитесь, что вы правильно указываете путь к файлу slowlog и что у пользователя, под которым работает Nginx, есть права на запись в этот файл:
```nginx
http {
...
slowlog /var/log/nginx/slow.log; # путь к slowlog
...
}
```
4. **Смена прав на существующие файлы**: Если файл slowlog уже создан и принадлежит пользователю root, вам нужно изменить его владельца и права:
```bash
sudo chown www-data:www-data /var/log/nginx/slow.log
sudo chmod 664 /var/log/nginx/slow.log
```
5. **Перезапустите Nginx**: После внесения изменений не забудьте перезапустить Nginx, чтобы он применил изменения:
```bash
sudo systemctl restart nginx
```
После этих действий ваши slowlog должны создаваться от имени пользователя, указанного в конфигурации Nginx. Если у вас все равно возникают проблемы, проверьте логи Nginx и системные логи для выявления возможных ошибок и причин.