
Я устанавливаю nginx
сервер, мне нужно его распространить. Так что конечный пользователь может запустить из любого каталога. Мой nginx
исполняемый файл жестко закодирован с моим путем, который мне был дан при компиляции.
Как сделать это портативным?
РЕДАКТИРОВАТЬ:
когда я внес изменения в этот nginx
исполняемый файл, он не запустился, а вместо этого выдал ошибки типасегментация ошибка ядро сброшено. Пожалуйста, помогите решить эту проблему.
решение1
На ум приходят четыре варианта:
- Запрограммируйте приложение на использование относительных каталогов и укажите, что его следует запускать из заголовка дерева каталогов данных.
- Укажите, что переменные среды должны быть установлены для определения местоположений данных (вы можете использовать относительный путь из каталога,
$HOME
если вы не хотите определять новые явные переменные). - Используйте файл конфигурации
.app
или.config/app
файл конфигурации для указания местоположений. - Введите код с фиксированным путем к каталогу и укажите, что в этом месте должна быть создана символическая ссылка, указывающая на реальные местоположения.
Что касается вашей ошибки сегментации, похоже, вы пропустили проверку ошибок (например, не убедились, что указатель файла не равен нулю).