Dear Graham, Thanks for your response.

I removed socket-user=app_user and now I see a different behaviour. One of 
the app work while the other does not. Both are exactly identical one is 
meant for QA and other for PROD and the QA URL works while for the PROD URL 
it shows an error 

*Not Found The requested URL /app_prod was not found on this server.*

The   QA    URL is http://<ip>:8999/app_qa
The PROD URL is http://<ip>:8999/app_prod

The initial reason why I had to move to daemon mode is to be able to set a 
python-path for both of them separately as WSGIPythonPath cannot be used 
inside <VirtualHost>

This is my httpd.conf setting.

WSGISocketPrefix /run/httpd/wsgi/
<VirtualHost *:8999>
WSGIDaemonProcess app_qa processes=1 display-name=%{GROUP} python-path=/opt/
app/app_qa/app
WSGIProcessGroup app_qa
WSGIScriptAlias /app_qa /opt/app/app_qa/app/wsgi.py  process-group=app_qa
Alias /static_app_qa /opt/app/app_qa/staticfiles

<Directory /opt/app/app_qa/app/>
        <Files wsgi.py>
                Require all granted
        </Files>
</Directory>

<Directory /opt/app/app_qa/staticfiles/>
        Require all granted
</Directory>
</VirtualHost>

<VirtualHost *:8999>
WSGIDaemonProcess app_prod processes=1 display-name=%{GROUP} python-path=
/opt/app/app_prod/app
WSGIProcessGroup app_prod
WSGIScriptAlias /app_prod /opt/app/app_prod/app/wsgi.py  process-group=
app_prod
Alias /static_app_prod /opt/app/app_prod/staticfiles

<Directory /opt/app/app_prod/app/>
        <Files wsgi.py>
                Require all granted
        </Files>
</Directory>

<Directory /opt/app/app_prod/staticfiles/>
        Require all granted
</Directory>
</VirtualHost>

The netstat output is as follows indicating that the socket files were 
created in the desired folder. The permission on files and directories also 
follows

[root@server app]# netstat -an | grep http
unix  2      [ ACC ]     STREAM     LISTENING     1107556  /run/httpd/wsgi/.
13750.0.1.sock
unix  2      [ ACC ]     STREAM     LISTENING     1107558  /run/httpd/wsgi/.
13750.0.2.sock

[root@server app]# ls -ltr /run/httpd/wsgi/.13750.0.1.sock 
/run/httpd/wsgi/.13750.0.2.sock
srwx------ 1 app_user root 0 Mar 18 19:29 /run/httpd/wsgi/.13750.0.2.sock
srwx------ 1 app_user root 0 Mar 18 19:29 /run/httpd/wsgi/.13750.0.1.sock

[root@server app]# ls -ltr /run/httpd/
total 8
drwx------ 2 apache  apache  40 Mar 10 13:50 htcacheclean
-rw-r--r-- 1 root    root     8 Mar 18 19:29 authdigest_shm.13750
-rw-r--r-- 1 root    root     6 Mar 18 19:29 httpd.pid
drwxr-xr-x 2 app_user app_user 80 Mar 18 19:29 wsgi

[root@server app]# ls -ltr /run | tail -2
-rw-rw-r--  1 root     utmp     3072 Mar 18 19:11 utmp
drwx--x---  4 root     apache    120 Mar 18 19:29 httpd



Also the ps -ef | grep httpd output is


root     13750     1  0 19:29 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
app_user  13753 13750  0 19:29 ?        00:00:00 /usr/sbin/httpd -
DFOREGROUND
app_user  13754 13750  0 19:29 ?        00:00:00 /usr/sbin/httpd -
DFOREGROUND
app_user  13755 13750  0 19:29 ?        00:00:00 /usr/sbin/httpd -
DFOREGROUND
app_user  13756 13750  0 19:29 ?        00:00:00 /usr/sbin/httpd -
DFOREGROUND
app_user  13757 13750  0 19:29 ?        00:00:00 /usr/sbin/httpd -
DFOREGROUND


I am a bit confused as everything seems alright.

Appreciate your help


On Wednesday, 18 March 2020 18:57:26 UTC-3, Graham Dumpleton wrote:
>
> Why are you setting 'socket-user'?
>
> That is only required when using Apache PrivilegesMode as SECURE, or using 
> certain Apache MPMs.
>
> What happens when you don't use that?
>
> I want to see the original error messages and permissions on both the 
> socket files, *and* the directory the sockets are in, before changing any 
> configuration from what one would normally use.
>
> Graham
>
> On 19 Mar 2020, at 2:10 am, Guddu <[email protected] <javascript:>> 
> wrote:
>
> After configuring daemon mode, I started getting a 503 Server Unavailable 
> error.
>
> There are lot of posts on stackoverflow and a dedicate section in the 
> troubleshooting page at 
> https://modwsgi.readthedocs.io/en/develop/user-guides/frequently-asked-questions.html
>  
> and 
> https://modwsgi.readthedocs.io/en/develop/user-guides/configuration-issues.html
>  
> but none of the suggestions seem to be helping me at the moment. Appreciate 
> your guidance.
>
> The error logs have the following
>
> [Wed Mar 18 09:30:17.649428 2020] [wsgi:error] [pid 14044] (13)Permission 
> denied: [client 10.52.7.18:2505] mod_wsgi (pid=14044): Unable to connect 
> to WSGI daemon process 'app_qa' on '/run/httpd/wsgi/.14039.0.1.sock' as 
> user with uid=1001.
>
>
>
>
> The directory in question has read and write permission to *app_user*
>
> The httpd processes start fine. Below is the ps output
>
> root     14197     1  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
> app_user  14202 14197  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
> app_user  14203 14197  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
> app_user  14204 14197  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
> app_user  14205 14197  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
> app_user  14206 14197  0 09:30 ?        00:00:00 /usr/sbin/httpd -
> DFOREGROUND
>
>
>   
> The socket flies get written
>   
> [root@server wsgi]# ls -ltra
> total 0
> srwx------ 1 app_user root      0 Mar 18 09:30 .14197.0.1.sock
> srwx------ 1 app_user root      0 Mar 18 09:30 .14197.0.2.sock
>
>
>
>
> My apache build info is as follows
>
> [app_user@server app_qa]$ httpd -V
> AH00558: httpd: Could not reliably determine the server's fully qualified 
> domain name, using 10.21.2.136. Set the 'ServerName' directive globally 
> to suppress this message
> Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
> Server built:   Jun  9 2019 13:01:04
> Server's Module Magic Number: 20120211:24
> Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
> Compiled using: APR 1.4.8, APR-UTIL 1.5.2
> Architecture:   64-bit
> Server MPM:     prefork
>   threaded:     no
>     forked:     yes (variable process count)
> Server compiled with....
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=256
>  -D HTTPD_ROOT="/etc/httpd"
>  -D SUEXEC_BIN="/usr/sbin/suexec"
>  -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
>  [app_user@server app_qa]$ httpd -l
> Compiled in modules:
>   core.c
>   mod_so.c
>   http_core.c
>
>
>
>
> My httpd conf is as follows
>   
> WSGISocketPrefix /run/httpd/wsgi/
> <VirtualHost *:8999>
> WSGIDaemonProcess app_qa processes=2 display-name=%{GROUP} python-path=
> /opt/app/app_qa  socket-user=app_user
> WSGIProcessGroup app_qa
> WSGIScriptAlias /app_qa /opt/app/app_qa/app/wsgi.py  process-group=app_qa
> Alias /static_app_qa /opt/app/app_qa/staticfiles
>
> <Directory /opt/app/app_qa/app/>
>         <Files wsgi.py>
>                 Require all granted
>         </Files>
> </Directory>
>
> <Directory /opt/app/app_qa/staticfiles/>
>         Require all granted
> </Directory>
> </VirtualHost>
>
>
> Appreciate your help on this matter.
>
> -- 
> 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 [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/modwsgi/82ab46fe-adc1-42fd-90ad-abaf05f58613%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/modwsgi/82ab46fe-adc1-42fd-90ad-abaf05f58613%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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/21647165-18ba-4f06-92d0-b224f06e8311%40googlegroups.com.

Reply via email to