Push module causing error #73

Closed
HMoen opened this Issue Nov 28, 2012 · 2 comments

Comments

Projects
None yet
2 participants
@HMoen

HMoen commented Nov 28, 2012

nginx version: nginx/1.2.4

Our site locks up after a little while and displays the following errors in the log:

Output of nginx.con error log below:
2012/11/28 13:53:34 [info] 18681#0: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf:186
2012/11/28 13:53:34 [alert] 18688#0: epoll_ctl(1, 0) failed (1: Operation not permitted)
2012/11/28 13:53:34 [alert] 18688#0: failed to register channel handler while initializing push module worker (1: Operation not permitted)
2012/11/28 13:53:34 [alert] 18687#0: epoll_ctl(1, 0) failed (1: Operation not permitted)
2012/11/28 13:53:34 [alert] 18687#0: failed to register channel handler while initializing push module worker (1: Operation not permitted)
2012/11/28 13:53:34 [alert] 10860#0: cache manager process 18687 exited with fatal code 2 and cannot be respawned
2012/11/28 14:16:38 [info] 19044#0: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf:186

Site .conf file:

HTTP server.

server {
#listen 80; # IPv4
listen 8001; # IPv4
## Replace the IPv6 address by your own address. The address below
## was stolen from the wikipedia page on IPv6.
##listen [fe80::1031:3dff:fe2c:600b]:8001 ipv6only=on;

server_name saludmedica.com;
limit_conn arbeit 32;

## Access and error logs.
access_log /var/log/nginx/saludmedica/access.log;
error_log  /var/log/nginx/saludmedica/error.log debug;

## Forward real user ip
set_real_ip_from 127.0.0.1;
real_ip_header X-Real-Forwarded-For;

## See the blacklist.conf file at the parent dir: /etc/nginx.
## Deny access based on the User-Agent header.
if ($bad_bot) {
    return 444;
}
## Deny access based on the Referer header.
if ($bad_referer) {
    return 444;
}

## Protection against illegal HTTP methods. Out of the box only HEAD,
## GET and POST are allowed.
if ($not_allowed_method) {
    return 405;
}

## Filesystem root of the site and index.
root /var/www/beta;
index index.php;

## If you're using a Nginx version greater or equal to 1.1.4 then
## you can use keep alive connections to the upstream be it
## FastCGI or Apache. If that's not the case comment out the line below.
#fastcgi_keep_conn on; # keep alive to the FCGI upstream

## Uncomment if you're proxying to Apache for handling PHP.
#proxy_http_version 1.1; # keep alive to the Apache upstream

## Configuration for instant search block
location ^~ /sites/all/instant/ {
    location ~ ^/sites/all/instant/(?:query|Document|Response|apc)\.php$ {
        include fastcgi_drupal.conf;
        fastcgi_param  QUERY_STRING $query_string;
        fastcgi_param  SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass phpcgi;
    } 
}

################################################################
### Generic configuration: for most Drupal 7 sites.
################################################################
include sites-available/drupal.conf;

################################################################
### Generic configuration: for most Drupal 6 sites.
################################################################
# include sites-available/drupal6.conf;

#################################################################
### Configuration for Drupal 7 sites that use boost.
#################################################################
#include sites-available/drupal_boost.conf;

#################################################################
### Configuration for Drupal 6 sites that use boost.
#################################################################
#include sites-available/drupal_boost6.conf;

#################################################################
### Configuration for updating the site via update.php and running
### cron externally. If you don't use drush for running cron use
### the configuration below.
#################################################################
include sites-available/drupal_cron_update.conf;

## For upload progress to work. From the README of the
## filefield_nginx_progress module.
location ~ ^(.*)/x-progress-id:(\w*) {
    return 302 $1?X-Progress-ID=$2;
}

location ^~ /progress {
    report_uploads uploads;
}

## Including the php-fpm status and ping pages config.
## Uncomment to enable if you're running php-fpm.
include php_fpm_status_vhost.conf;

## Including the Nginx stub status page for having stats about
## Nginx activity: http://wiki.nginx.org/HttpStubStatusModule.
include nginx_status_vhost.conf;

} # HTTP server

HTTPS server.

server {
listen 443 ssl;
## Replace the IPv6 address by your own address. The address below
## was stolen from the wikipedia page on IPv6.
#listen [fe80::1031:3dff:fe2c:600b]:443 ssl ipv6only=on;

server_name saludmedica.com;
limit_conn arbeit 32;

## Access and error logs.
access_log /var/log/nginx/saludmedica/ssl_access.log;
error_log  /var/log/nginx/saludmedica/ssl_error.log debug;

## Forward real user ip
set_real_ip_from 127.0.0.1;
real_ip_header X-Real-Forwarded-For;

location ^~ /sites/all/instant/ {
location ~ ^/sites/all/instant/(?:query|Document|Response).php$ {
include fastcgi_drupal.conf;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass phpcgi;
}
}

## Keep alive timeout set to a greater value for SSL/TLS.
keepalive_timeout 75 75;

## See the keepalive_timeout directive in nginx.conf.
## Server certificate and key.
ssl_certificate /etc/ssl/certs/saludmedica.com.crt;
ssl_certificate_key /etc/ssl/private/saludmedica.com.key.nopass;

## Strict Transport Security header for enhanced security. See
## http://www.chromium.org/sts. I've set it to 2 hours; set it to
## whichever age you want.
add_header Strict-Transport-Security "max-age=7200";

root /var/www/beta;
index index.php;

## If you're using a Nginx version greater or equal to 1.1.4 then
## you can use keep alive connections to the upstream be it
## FastCGI or Apache. If that's not the case comment out the line below.
fastcgi_keep_conn on; # keep alive to the FCGI upstream

## Uncomment if you're proxying to Apache for handling PHP.
#proxy_http_version 1.1; # keep alive to the Apache upstream

## See the blacklist.conf file at the parent dir: /etc/nginx.
## Deny access based on the User-Agent header.
if ($bad_bot) {
    return 444;
}
## Deny access based on the Referer header.
if ($bad_referer) {
    return 444;
}

## Protection against illegal HTTP methods. Out of the box only HEAD,
## GET and POST are allowed.
if ($not_allowed_method) {
    return 405;
}

################################################################
### Generic configuration: for most Drupal 7 sites.
################################################################
include sites-available/drupal.conf;

################################################################
### Generic configuration: for most Drupal 6 sites.
################################################################
# include sites-available/drupal6.conf;

#################################################################
### Configuration for Drupal 7 sites that use boost.
#################################################################
#include sites-available/drupal_boost.conf;

#################################################################
### Configuration for Drupal 6 sites that use boost.
#################################################################
#include sites-available/drupal_boost6.conf;

#################################################################
### Configuration for updating the site via update.php and running
### cron externally. If you don't use drush for running cron use
### the configuration below.
#################################################################
include sites-available/drupal_cron_update.conf;

## For upload progress to work. From the README of the
## filefield_nginx_progress module.
location ~ ^(.*)/x-progress-id:(\w*) {
    return 302 $1?X-Progress-ID=$2;
}

location ^~ /progress {
    report_uploads uploads;
}

## Including the php-fpm status and ping pages config.
## Uncomment to enable if you're running php-fpm.
#include php_fpm_status.conf;

## Including the Nginx stub status page for having stats about
## Nginx activity: http://wiki.nginx.org/HttpStubStatusModule.
include nginx_status_vhost.conf;

} # HTTPS server

@perusio

This comment has been minimized.

Show comment
Hide comment
@perusio

perusio Nov 28, 2012

Owner

This has all the symptoms of a problem specific to the push module. Try disabling epoll and see if you can reproduce it.

Owner

perusio commented Nov 28, 2012

This has all the symptoms of a problem specific to the push module. Try disabling epoll and see if you can reproduce it.

@HMoen

This comment has been minimized.

Show comment
Hide comment
@HMoen

HMoen Feb 19, 2018

Never responded, that worked, thanks.

HMoen commented Feb 19, 2018

Never responded, that worked, thanks.

@HMoen HMoen closed this Feb 19, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment