Компиляция Openresty в пакет.deb
Я пытаюсь скомпилировать Openresty 1.7.2.1 в пакет.deb для Debian 7, используя FPM. Хотя компиляция FPM прошла успешно, и я получил файл deb, но когда я установил его с помощью dpkg, каким-то образом файлы конфигурации не помещаются в /etc/nginx, и, очевидно, когда я запускаю /usr/sbin/nginx, я получаю:
nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
Ниже приведены шаги, которые я предпринимаю для компиляции:
./configure --with-luajit \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--lock-path=/var/lock/nginx.lock \
--pid-path=/run/nginx.pid \
--with-pcre-jit \
--with-pcre \
--with-http_ssl_module \
--without-http_redis2_module \
--without-http_redis_module \
--without-http_memc_module \
--without-http_memcached_module
затем
make
INSTALL=/tmp/openresty
make install DESTDIR=$INSTALL
mkdir -p $INSTALL/var/lib/nginx
И наконец
fpm -s dir -t deb -n openresty -v 1.7.2.1 --iteration 1 -C $INSTALL \
--description "Openresty 1.7.2.1" \
-d libpcre3 \
--config-files /etc/nginx/fastcgi.conf.default \
--config-files /etc/nginx/win-utf \
--config-files /etc/nginx/fastcgi_params \
--config-files /etc/nginx/nginx.conf \
--config-files /etc/nginx/koi-win \
--config-files /etc/nginx/nginx.conf.default \
--config-files /etc/nginx/mime.types.default \
--config-files /etc/nginx/koi-utf \
--config-files /etc/nginx/fastcgi_params.default \
--config-files /etc/nginx/mime.types \
--config-files /etc/nginx/fastcgi.conf \
etc usr var run
После запуска FPM я получаю
Created package {:path=>"openresty_1.7.2.1-1_amd64.deb"}
При установке с использованием dpkg я получаю только следующие файлы в /etc/nginx
scgi_params scgi_params.default uwsgi_params uwsgi_params.default
Что я здесь не так делаю?
1 ответ
Вам не нужно добавлять какие-либо --config-files
Варианты к Fpm. Просто наличие файлов конфигурации, расположенных в /tmp/openresty/etc/nginx
достаточно. Я подозреваю, что указание этих параметров на несуществующие файлы является причиной ваших проблем.
Если вам нужна стандартная конфигурация Debian Nginx с доступными сайтами и включенными сайтами, вам нужно добавить соответствующие файлы в дерево пакетов в /tmp/openresty/etc/nginx
перед сборкой пакета.
Для справки я просто открыл источник моего собственного сборщика пакетов OpenResty здесь: https://github.com/tapstream/openresty-debian.