Our company is newbie at Nginx. We installed Nginx 1.0.0 our demo server
with Spawn. We solved most of migration problem from Apache to Nginx. We
couldn’t install third party modules on Nginx. We followed the wiki,
forum and google unfortunately we can’t solve.
Does something change over installing native and third party modules
from 8.X to 1.0.x!
Does nginx 1.0.0 support backward compatibility for third party
modules?
After install nginx 1.0.0 how can i install third party modules on
nginx?
We use this code for install nginx.
sudo -s
nginx=stable # use nginx=development for latest development version
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install nginx
There was an API change but I can’t remember when it was. Regardless it
had only minor effect and pretty much all the modules should work fine
regardless. I think what has you confused is how to install 3rd party
modules. Nginx only supports compiling in modules statically, which
means you have to enable them during compile time. You can’t install
Nginx and then later add in modules. (without recompiling)
Thankfully, adding 3rd party modules during compile is pretty easy as
you just need -add-module=/path/to/module/source
Thank you very much for your reply. Nearly two days we read your blog
especially evil framework is very interesting.
We understand that we can’t install modules after installed nginx. We
have to configure modules when we are compiling nginx. So we can’t use
apt-get install nginx if we wanna use third modules etc. First we
configure and then make install nginx. :S Are we right? It is really
strange.
Thank you very much for your reply. Nearly two days we read your blog
especially evil framework is very interesting.
We understand that we can’t install modules after installed nginx. We
have to configure modules when we are compiling nginx. So we can’t use
apt-get install nginx if we wanna use third modules etc. First we
configure and then make install nginx. :S Are we right? It is really
strange.
Hardly.
Only, if all you’ve ever used are binary-packages.
That said, NGINX is certainly not ideally suited for platforms where
it’s difficult to rebuild a package with custom or 3rd-party patches.
We use ubuntu on laptop and centos on server. So we follow the http://wiki.nginx.org/Install for PPA. How can we know that it is out
of date especially it installed version 1.0.0.
Anyway we understand that there is no way to add modules without
./configure and make install again.
I check DotDeb. It is really good but i need upload module. http://www.grid.net.ru/nginx/upload.en.html Dotdeb isn’t include upload
module.
May be we write our rest service with RDS JSON modules in the future. I
think we should install nginx manually.
I should write a complete blog post about modifying a debian/ubuntu
package to add modules. I do the work in a virtualbox virtual machine
so I don’t clutter up my computers with all the dev packages. Basically
this:
make a working directory and cd to it
apt-get source nginx (this will get the 1.0.0 from ppa:nginx/stable if
you have it in your apt sources)
apt-get build-dep nginx
cd to the nginx-[version] directory
download and untar the new modules to the module directory (debian
prefers that you make a patch and put it in debian/patches, but you can
just put them in place manually for now)
modify debian/rules and add the appropriate line to the configure
command (you can mostly copy the line there for the upstream-fair
module)
run dch to update the changelog with a new version
run debuild -us -uc
and voila you have a new deb that you can dpkg -i. If you’re on Ubuntu
and you intend to keep doing it and distributing it to multiple
machines, I highly recommend getting a launchpad ppa. There’s some
extra one time work registering a gpg key with launchpad and on your
virtual machine and the debuild command is a little different, and you
dput it up to launchpad, but it’s still quick, and then you can just
apt-get full-upgrade to pull your new version to all your dev/production
servers.
I dont know why you would use the debian version of nginx
anyway… its years out of date.
Wrong: in the unstable distribution it’s 0.8.54, hardly years out of
date.
There are plenty of builds out there of up to date devel releases of
nginx for debian. Much more than for Ubuntu.
Remember than in debian there’s no supposedly “funny” cleverly devised
names for the releases. There are stable, testing and unstable
releases. With apt pinning you can mix and match packages from several
releases. For example building nginx with openssl-1.0.0d.
Please don’t spread misinformation.
Thank you,
— appa
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.