Назад | Перейти на главную страницу

Компиляция 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

Что я здесь делаю не так?

Вам не нужно ничего добавлять --config-files варианты для fpm. Просто имея файлы конфигурации, расположенные в /tmp/openresty/etc/nginx достаточно. Я подозреваю, что указание этих параметров на несуществующие файлы и является причиной ваших проблем.

Если вам нужна стандартная конфигурация Nginx Debian с доступными сайтами и включенными сайтами, вам необходимо добавить соответствующие файлы в дерево пакетов в /tmp/openresty/etc/nginx перед сборкой пакета.

Для справки я только что открыл здесь свой собственный конструктор пакетов OpenResty: https://github.com/tapstream/openresty-debian.