<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:large">Thank you Thomas. Much appreciate this, it sounds promising. Appreciate your clarity. </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">So if I: </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">1. Compile nginx via `dnf install nginx` and that becomes my system's Nginx, installed usually in `/etc/nginx` <br><br></div><div class="gmail_default" style="font-size:large">2. In a totally separate folder, say, `/usr/src`, I then download a tarball of Nginx and compile it along with the dynamic modules -- which will produce the .so files for said modules <br><br></div><div class="gmail_default" style="font-size:large">3. Copy over the modules into the usual `/etc/nginx/modules` folder from Step 1 </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">....in this sequence of steps, how do I make sure that: </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">A. The compilation in Step 2 does not become my "system's nginx" (so when I do an `nginx -v` at the command prompt it should be refer to the nginx installed in Step 1 above, and *not* the one compiled via Step 2) </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">B. The compile in Step 2 will use the "same libraries" that DNF used? In the DNF version of life I didn't pick any libraries manually...DNF found what was on my system. Will the manual compile not do the same? </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Many thanks! </div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 6, 2021 at 10:19 PM Thomas Ward <<a href="mailto:teward@thomas-ward.net">teward@thomas-ward.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>I'm fairly familiar with the 'compiling process' for dynamic
modules - the process is the same for NGINX Open Source as wel as
NGINX Plus.</p>
<p>You would need to compile the modules alongside NGINX and then
harvest the compiled .so files and put them into corresponding
locations on the system you want to load the dynamic modules. In
Ubuntu, we do this (or at least, I do) by using the same OS and
libraries as installed on the target system (as well as the same
NGINX version).</p>
<p>This being said, **compiling** NGINX is different than
**installing** NGINX - you can *compile* the nginx version 1.18.0
with the dynamic modules and the same configuration as the Fedora
version, and then **take the compiled module** and load it up in
your installed nginx instance. Compiling NGINX to make the
dynamic module does NOT require you to then install that NGINX
version, provided that you match the `make` steps and
installed/available libraries to those used in the original nginx
compile done in Fedora.</p>
<p><br>
</p>
<p>Thomas</p>
<p><br>
</p>
<div>On 1/6/21 5:30 PM, Phoenix Kiula wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><span class="gmail_default" style="font-size:large">Thank
you Miguel. But you misunderstood the question. This
suggestion...</span></div>
<div><span class="gmail_default" style="font-size:large"><br>
</span></div>
<div><span class="gmail_default" style="font-size:large"></span> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto">
<div dir="auto">nginx blog as a great guide on it though <a href="https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/" target="_blank">https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/</a></div>
<div dir="auto"><br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div style="font-size:large">...misses
the very first question in this thread: we cannot compile
nginx from source on our server. At least not in a way
that that compiled version would become the nginx
installed in our *system*. We need to install nginx via
the default Fedora dnf package manager, which at this time
installs 1.18.0. </div>
<div style="font-size:large"><br>
</div>
<div style="font-size:large">Now, what
I don't mind doing is to compile nginx in some
self-contained folder somewhere, then use that compilation
to create the .so or whatever the module file for that
version is....if all of this module compiling does *not*
affect the system-installed dnf version of nginx. Is this
possible? </div>
<div style="font-size:large"><br>
</div>
<div style="font-size:large">If so,
the instructions do not help with this. The first step in
that official tutorial is to compile nginx and that
compiled nginx then becomes the system's main nginx. It
replaces whatever was installed via "dnf install nginx".
Yes? </div>
<div style="font-size:large"><br>
</div>
<div style="font-size:large">Hope this
makes sense. Have I correctly understood how nginx
compilation works? Appreciate any pointers. </div>
<div style="font-size:large"><br>
</div>
</div>
<div style="font-size:large">Thank you. </div>
<div style="font-size:large"><br>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
nginx mailing list
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a></pre>
</blockquote>
</div>
</blockquote></div></div>