nginx по умолчанию не поддерживает "" HttpRewriteModule, который определяет директиву "set" ", вы должны скомпилировать, установить и использовать nginx из исходного кода:
- Загрузите исходный код nginx с здесь
- перейдите в каталог, содержащий загруженный файл
- распакуйте его: tar xvfz nginx- "your_version"
- cd nginx- "your_version"
- . / Configure: вы можете добавить другие модули в компиляцию nginx следующим образом:
. / Configure --with- "module_to_add"
Вы можете избавиться от некоторых модулей следующим образом:
. / Configure --without- "module_to_not_include"
например, модуль «http_rewrite_module» требует, чтобы «pcre» и «pcre-devel» либо устанавливали их, либо исключали из компиляции (./configure --without-http_rewrite_module)
для модуля ssl: ./configure --with-http_ssl_module
- сделать
- sudo make install
После установки нового nginx мы должны использовать его вместо стандартного:
Двоичный файл нового nginx находится в:
/ usr / local / nginx / sbin (вы можете попробовать запустить его оттуда)
- Измените init.d для использования нового nginx:
sudo nano /etc/init.d/nginx
найдите эти две строки:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
поменяйте ли они на эти:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
DAEMON=/usr/local/nginx/sbin/nginx
или я предлагаю прокомментировать старые и добавить новые, чтобы вы наконец получили:
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
#DAEMON=/usr/sbin/nginx
DAEMON=/usr/local/nginx/sbin/nginx
(после изменения, чтобы сохранить и выйти из nano, нажмите (Ctrl + O), затем нажмите (Enter), затем нажмите (Ctrl + x))
резервное копирование ваших старых конфигураций nginx на новый nginx, если есть (copy paste nginx.conf)
настройка конфигурации:
cd / usr / local / nginx / sbin
sudo ./nginx -t -c /usr/local/nginx/conf/nginx.conf
перезагрузите nginx:
sudo /etc/init.d/nginx restart
или вы можете перезагрузить ОС вместо последней инструкции по буксировке.
Теперь nginx поддерживает директиву set.
Надеюсь, это поможет.