Hello Graham,

Thanks for your answer. Here is the full apache configuration 

<VirtualHost *:80>
Servername redacted.io
RewriteEngine On
WSGIPassAuthorization on
# Block access for all IPs in /etc/apache2/ipblacklist.conf
RewriteMap hosts-deny "txt:/etc/apache2/ipblacklist.conf"
RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
RewriteRule "^" "-" [F]

# Maintenance mode section

# Allow Individual IP stored in /etc/apache2/maintenance.exceptions 
addresses past maintenance page
RewriteMap exceptions /etc/apache2/maintenance.exceptions
RewriteCond ${exceptions:%{REMOTE_ADDR}} =OK
RewriteRule ^ - [L]

ErrorDocument 503 /static/html/maintenance/under_construction.html
RewriteCond /etc/apache2/MAINTENANCE_ON -f
RewriteCond expr "! %{REQUEST_URI} -strmatch '/static/html/maintenance/*'"
# Allow access for LB IPs
RewriteCond expr "! -R '10.108.0.0/14'"
RewriteRule ^ - [R=503,L]

RewriteCond /etc/apache2/MAINTENANCE_ON !-f
RewriteRule ^/static/html/under_construction.html$ / [R,L]


# BLOG Conf - Test
ProxyPreserveHost On
ProxyRequests Off

Alias /503 /home/redacted/redacted/redacted/static/html/
under_construction.html

<Location /mag>
ProxyPass http://192.168.1.225/mag
ProxyPassReverse http://192.168.1.225/mag
Order allow,deny
Allow from all
ErrorDocument 503 /503
</Location>

<Location /mag/es>
ProxyPass http://192.168.1.186/mag/es
ProxyPassReverse http://192.168.1.186/mag/es
Order allow,deny
Allow from all
ErrorDocument 503 /503
</Location>

<Location ~ "/admin|/staff|/admin_action|/mailator">
Order deny,allow
Include /etc/apache2/ipwhitelist.conf
Deny from all
ErrorDocument 503 /503
</Location>

Alias /robots.txt /home/redacted/redacted/redacted/static/robots.txt
Alias /.well-known/security.txt /home/redacted/redacted/redacted/static/
security.txt
Alias /favicon.ico /home/redacted/redacted/redacted/static/favicon.ico
Alias /static/ /home/redacted/redacted/redacted/static/
<Directory /home/redacted/redacted/redacted/static>
Options Includes FollowSymLinks MultiViews
Order allow,deny
Require all granted
Allow from all
</Directory>
WSGIDaemonProcess redacted python-path=/home/redacted/redacted:/home/
redacted/redacted/virtualenv/lib/python3.7/site-packages processes=8 threads
=2 display-name=redacted-apache
WSGIScrredactedAlias / /home/redacted/redacted/redacted/conf/wsgi.prod.py 
process-group=redacted application-group=%{GLOBAL}
WSGIApplicationGroup %{GLOBAL}
<Directory /home/redacted/redacted/redacted/conf>
<Files wsgi.prod.py>
Require all granted
Order allow,deny
Allow from all
</Files>
</Directory>

</VirtualHost>

<VirtualHost *:80>
ServerName cms.redacted.io
Redirect 301 / https://redacted.io/
</VirtualHost>

<VirtualHost *:80>
ServerName get.redacted.io
Redirect 301 / https://redacted.io/
</VirtualHost>


<VirtualHost *:80>

Servername help.redacted.io
ErrorLog "/var/log/apache2/help_error_log.log"
CustomLog "/var/log/apache2/help_access_log.log" common

SSLProxyEngine on
SSLProxyVerifyDepth 10
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

ProxyPreserveHost On
ProxyPass / https://custom.intercom.help/
ProxyPassReverse / https://custom.intercom.help/

</VirtualHost>

On my serveur, from the monitoring perspective, the maximum workers is 
reach at 260, while the CPU / RAM usage remains pretty low.

My mpm_prefork conf is:

<IfModule mpm_prefork_module>
StartServers      20
MinSpareServers  15
MaxSpareServers  30
MaxRequestWorkers  150
MaxConnectionsPerChild   0
</IfModule>

So as the max workers does not seems to be use from mpm... I'm really 
confuse, I don't understand how both file are related, if they are. 

Thanks for your help.

Manu

On Thursday, December 14, 2023 at 8:39:03 PM UTC+1 Graham Dumpleton wrote:

> The issue with the process-group option you have is that it doesn't match 
> the name of the process group. You have "custom" instead of "ipt".
>
> To be honest I even missed you had the process-group option in there. 
> Since didn't match you should actually have got an error. So maybe you do 
> have it correct.
>
> Note another video to watch which touches on performance is:
>
> [image: maxresdefault.jpg]
>
> Using benchmarks to understand how WSGI servers work. by Graham Dumpleton 
> <https://www.youtube.com/watch?v=SGleKfigMsk>
> youtube.com <https://www.youtube.com/watch?v=SGleKfigMsk>
> <https://www.youtube.com/watch?v=SGleKfigMsk>
>
>
> BTW, make sure you have:
>
>     WSGIRestrictEmbedded On
>
> set in global Apache configuration if using daemon process mode.
>
> Graham
>
> On 15 Dec 2023, at 4:49 am, Manu Itutur <iturbide...@gmail.com> wrote:
>
> Thanks for your answer,
>
> In my file I use absolute path, I remove some "sensitive" data, therefore 
> it's then a relative path, sorry for the confusion. 
>
> I already watched both video couple of days ago, but I guess I missed 
> something. I will check process-group option in  WSGIScriptAlias, hope 
> things will be clarified.
>
>
>  
>
> On Wednesday, December 13, 2023 at 8:25:46 PM UTC+1 Graham Dumpleton wrote:
>
>> BTW the location given in python-path, second argument to WSGIScriptAlias 
>> and argument to Directory directive are supposed to be absolute paths, not 
>> relative. Use of a relative path might cause incorrect results.
>>
>> For a virtual environment you should not use python-path like that 
>> anyway. Instead use python-home to virtual environment root. See:
>>
>> Virtual Environments — mod_wsgi 5.0.0 documentation 
>> <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html>
>> modwsgi.readthedocs.io 
>> <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html>
>> [image: favicon.ico] 
>> <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html>
>>  
>> <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html>
>>
>>
>> On 14 Dec 2023, at 1:45 am, Manu Itutur <iturbide...@gmail.com> wrote:
>>
>> WSGIDaemonProcess ipt python-path=virtualenv/lib/python3.7/site-packages 
>> processes=7 threads=2 display-name=custom-apache
>> WSGIScriptAlias / conf/wsgi.preprod.py process-group=custom 
>> application-group=%{GLOBAL}
>> WSGIApplicationGroup %{GLOBAL}
>> <Directory conf>
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to modwsgi+u...@googlegroups.com.
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/modwsgi/9973f79c-6265-4cee-a876-262b09975fa4n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/modwsgi/9973f79c-6265-4cee-a876-262b09975fa4n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to modwsgi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/9b9834f5-04be-4b30-a748-89a8d32ae6bbn%40googlegroups.com.

Reply via email to