Размер исполняемого файла.

supermicro nginx-forum на forum.nginx.org
Вс Окт 22 12:28:30 UTC 2017


Здравствуйте.

Для решения некоторых задач мне понадобилось подключить модуль random_index.
Для этого я скачала исходники той же версии, что установлена на нашем
сервере (Ubuntu 16.04 LTS, версия Nginx 1.10.3, установлена при помощи apt
install nginx). Посмотрела параметры с которыми скомпилирован nginx и решила
заодно удалить все не используемые модули для ускорения работы (раз уже все
равно компилируем из исходников).

БЫЛО:
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2'
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
--prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock
--pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit
--with-http_ssl_module --with-http_stub_status_module
--with-http_realip_module --with-http_auth_request_module
--with-http_addition_module --with-http_dav_module --with-http_geoip_module
--with-http_gunzip_module --with-http_gzip_static_module
--with-http_image_filter_module --with-http_v2_module --with-http_sub_module
--with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail
--with-mail_ssl_module --with-threads

СТАЛО:
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2'
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
--prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock
--pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi  --with-pcre-jit 
--with-http_realip_module --with-http_geoip_module --with-threads
--with-http_random_index_module

Но когда файл скомпилировался (gcc version 5.4.0 20160609 (Ubuntu
5.4.0-6ubuntu1~16.04.5)), то каково было мое удивление, что размер стал
больше, чем был! Размер оригинального файла - 1230768 байт, а получившегося
- 4211352 байт. А если скомпилировать с теми же параметрами, что и у
оригинального файла, то размер получается вообще 8748504 байт.
Подскажите пожалуйста, почему так получается и как мне добиться уменьшения
размеров файла.


Второй вопрос уже по модулю random_index.
В директории, для которой указан параметр random_index, лежит 5 файлов с
разным содержимым 1.html-5.html
В лог файлах nginx появляются записи вида:

GET /test/random/ HTTP/1.1" 200 7

Но как мне узнать, какой именно файл был показан?


Спасибо.
С уважением, Виктория.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,277023,277023#msg-277023



Подробная информация о списке рассылки nginx-ru