В статье расскажу как пересобрать nginx до версии 1.18 под BitrixVM
[spoiler]

Выполняя действия ниже, отдавайте себе отчет в том что вы делаете.

Убеждаемся, что стоит git, если нет, установим
yum install git -y

Нам надо пересобрать nginx с такими же параметрами, как и в BitrixVM
1. создаем папку nginx-build и переходим в неё
mkdir ~/nginx_build && cd ~/nginx_build

2. качаем исходники Nginx и распаковываем
wget https://nginx.org/download/nginx-1.18.0.tar.gz && tar zxf nginx-1.18.0.tar.gz && cd nginx-1.18.0

3. ставим исходники OpenSSL
yum install openssl-devel -y

4. качаем nginx-push-stream-module
cd ~/nginx_build && git clone http://github.com/wandenberg/nginx-push-stream-module.git && NGINX_PUSH_STREAM_MODULE_PATH=$PWD/nginx-push-stream-module

5. ставим zlib
cd ~/nginx_build/ && wget http://zlib.net/zlib-1.2.11.tar.gz && tar -zxf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && ./configure && make && sudo make install

6. ставим headers-more-nginx-module
cd ~/nginx_build && git clone http://github.com/openresty/headers-more-nginx-module

7. ставим mod_zip
cd ~/nginx_build && git clone https://github.com/evanmiller/mod_zip

8. качаем brotli
cd ~/nginx_build && git clone https://github.com/google/ngx_brotli && cd ngx_brotli && git submodule update --init

9. ставим pcre-dev
 yum install pcre-devel -y

Собираем и устанавливаем nginx
cd ~/nginx_build/nginx-1.18.0 && ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-openssl=~/nginx_build/openssl-1.1.1g --with-openssl-opt=enable-tls1_3 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-file-aio --add-module=../nginx-push-stream-module --add-module=../mod_zip --add-module=../headers-more-nginx-module --add-module=../ngx_brotli --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' && make && make install

Ждём...
Ещё ждём...
Ждём...
проверяем версию nginx и валидность конфигов
nginx -t && nginv -v

Версия должна смениться на 1.18 и текст
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если всё ок, то перезапускаем nginx
service nginx restart

Удаляем папку с хламом
rm -r ~/nginx_build/

Всё, вы молодец.
Дата публикации: 19.01.2021, 337 прочтений

Посмотреть остальные посты
0
Павел
30.01.2021
Добрый день!

Наверное еще нужно добавить:
cd ~/nginx_build && wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1g.tar.gz && tar zxf openssl-1.1.1g.tar.gz
т.к. ssl используется при компиляции и явно задан при создании конфига
0
13.02.2021
В п.3 есть идет установка исходников openssl ;)