将Openresty编译为一个.deb包

我正在尝试使用FPM将Openresty 1.7.2.1编译为Debian 7的.deb软件包。 虽然FPM编译成功,我得到一个deb文件,但是当我使用dpkg安装它时,configuration文件并没有被放置在/ 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 

我在这里做错了什么?

您不需要为fpm添加任何--config-files选项。 只要在/tmp/openresty/etc/nginx有configuration文件就足够了。 我怀疑指出这些选项在不存在的文件是什么导致你的问题。

如果你想要Debian标准的Nginxconfiguration,包括可用的站点和站点,那么你需要在构build包之前在/tmp/openresty/etc/nginx中将相关文件添加到你的包树中。

作为参考,我只是在这里打开我自己的OpenResty包构build器: https : //github.com/tapstream/openresty-debian 。