如何更新和添加模块 nginx debian

如何更新和添加模块 nginx debian

如何在不删除旧 nginx 文件/配置的情况下通过添加模块来更新 nginx?

我使用 apt-get install 安装了 nginx,我尝试通过从 nginx 站点下载 tar.gz 来安装,但没有任何效果。

我正在使用 debian 6.0.2 squeeze

我将非常感激您的建议。

此致

答案1

如果您需要新模块,则必须重新编译 nginx。如果您想从源代码安装它,则必须先删除 Debian 包。这里有一个简短的教程。我以 root 用户身份执行以下所有操作:

创建配置文件的备份:

mkdir ~/nginx-config-backup && cp -r /etc/nginx/* ~/nginx-config-backup

删除以前安装的 nginx:

apt-get remove nginx*

你需要这个来从源代码构建 nginx:

apt-get install build-essentials

放置源文件的目录:

cd /usr/local/src

获取 nginx 的最新开发版本:

wget http://nginx.org/download/nginx-1.3.9.tar.gz
tar -zxvf nginx-1.3.9.tar.gz
mv nginx-1.3.9 nginx
rm -f nginx-1.3.9.tar.gz

获取最新的 PCRE 版本:

cd ../../lib
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz
tar -zxvf pcre-8.31.tar.gz
mv pcre-8.31 pcre
rm -f pcre-8.31.tar.gz

获取最新的 OpenSSL 版本:

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
mv openssl-1.0.1c openssl
rm -f openssl-1.0.1c.tar.gz

获取最新的 zlib 版本:

git clone git://github.com/madler/zlib.git

现在我下载两个 nginx 的示例模块:

cd ../includes
git clone git://github.com/masterzen/nginx-upload-progress-module.git
git clone git://github.com/gnosek/nginx-upstream-fair.git

回到 nginx;我们配置我们的安装并编译+安装它:

cd ../src/nginx
./configure
  --prefix=/usr/local
  --sbin-path=/usr/local/sbin
  --conf-path=/etc/nginx/nginx.conf
  --pid-path=/var/run/nginx.pid
  --lock-path=/var/lock/nginx.lock
  --error-log-path=/var/log/nginx/error.log
  --http-log-path=/var/log/nginx/access.log
  --user=nginx
  --group=nginx
  --with-debug
  --with-file-aio
  --with-http_gzip_static_module
  --with-http_realip_module
  --with-http_ssl_module
  --with-md5=/usr/local/lib/openssl
  --with-md5-asm
  --with-openssl=/usr/local/lib/openssl
  --with-sha1=/usr/local/lib/openssl
  --with-sha1-asm
  --with-pcre=/usr/local/lib/pcre
  --with-pcre-jit
  --with-zlib=/usr/local/lib/zlib
  --without-http_browser_module
  --without-http_geo_module
  --without-http_limit_req_module
  --without-http_limit_conn_module
  --without-http_memcached_module
  --without-http_referer_module
  --without-http_split_clients_module
  --without-http_ssi_module
  --without-http_upstream_ip_hash_module
  --without-http_userid_module
  --without-http_uwsgi_module
  --add-module=/usr/local/include/nginx-upload-progress-module
  --add-module=/usr/local/include/nginx-upstream-fair
make
make install

不要忘记清理一切:

cd /usr/local
rm -rf
  src/nginx
  include/nginx-upload-progress-module
  include/nginx-upstream-fair
  lib/pcre
  lib/zlib
  lib/openssl

现在,您将在 处获得一个可以运行的 nginx 二进制文件/usr/sbin/nginx。另外,请确保更新 nginx 的init-script(在 处)。以下是我的个人-script /etc/init.d/nginx(作为示例) :init

https://github.com/Fleshgrinder/nginx-sysvinit-script

相关内容