Welcome! Log In Create A New Profile

Advanced

Re: nginx + php5-fpm on Debian

Mark Alan
February 21, 2013 03:08PM
On Thu, 21 Feb 2013 14:07:45 +0100, GASPARD Kévin
<list-reader@koshie.fr> wrote:
> > nginx -V 2>&1|sed 's,--,\n--,g'
> nginx version: nginx/1.2.1

Ok, this seems pretty standard for Debian.

> > find /etc/nginx/ -name *.conf|xargs -r grep -v '^\s*\(#\|$\)'
> /etc/nginx/conf.d/koshie-island.koshie.fr.conf:server {
> /etc/nginx/conf.d/koshie-island.koshie.fr.conf:
> listen

To get out of a hole, first you must stop digging.

So, in order to regain control of your Nginx under Debian:

1. Clean /etc/nginx/conf.d/
sudo mkdir /etc/nginx/conf.d-backup
sudo mv /etc/nginx/conf.d/* /etc/nginx/conf.d-backup/

2. Simplify your /etc/nginx/sites-available/default
server {
listen 80 default_server;
server_name_in_redirect off;
return 444;
}
server {
listen 443 default_server ssl;
server_name_in_redirect off;
ssl_certificate /etc/ssl/certs/dummy-web.crt;
ssl_certificate_key /etc/ssl/private/dummy-web.key;
return 444;
}

3. Create simpler domain config files,
and put them inside /etc/nginx/sites-available/:

# /etc/nginx/sites-available/koshiefr # for http only
server {
listen 80;
server_name www.koshie.fr; # may also add IP here
return 301 $scheme://koshie.fr$request_uri; # 301/perm 302/temp
}
server {
listen 80;
server_name koshie.fr;
root /var/www/koshiefr; # avoid non alfanum here & rm last /
#client_max_body_size 8M;
#client_body_buffer_size 256K;
index index.php /index.php;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}

# /etc/nginx/sites-available/koshiefrs # for https only
server {
listen 443; # ssl not needed here
server_name www.koshie.fr; # may also add IP here
return 301 $scheme://koshie.fr$request_uri; # 301=perm, 302=temp
}
server {
listen 443 ssl;
server_name koshie.fr;
root /var/www/koshiefr; # avoid non alfanum here
#client_max_body_size 8M;
#client_body_buffer_size 256K;
ssl_certificate /etc/ssl/certs/dummy-web.crt;
ssl_certificate_key /etc/ssl/private/dummy-web.key;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}

4. link files into place:

sudo ln -svf /etc/nginx/sites-available/default \
/etc/nginx/sites-enabled/

sudo ln -svf /etc/nginx/sites-available/koshiefr \
\ /etc/nginx/sites-enabled/

sudo ln -svf /etc/nginx/sites-available/koshiefrs \
\ /etc/nginx/sites-enabled/

5. restart nginx:
a) again keep it simple (I don't trust Debian's nginx restart)
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx status

b) OR, if the server is 'in production', use alternative 'restart'
trying to not disturb the established connections:

pgrep nginx && sudo kill -s USR2 $(cat /var/run/nginx.pid)
pgrep nginx >/dev/null && sudo kill -s QUIT \
$(cat /var/run/nginx.pid.oldbin)
sleep .5
pgrep nginx || sudo /etc/init.d/nginx start

# check status
sudo /usr/sbin/nginx -t && /etc/init.d/nginx status

6. regarding PHP-FPM:
a) DO install at least:
sudo apt-get install php5-fpm php5-suhosin php-apc
and, if needed:
# sudo apt-get install php5-mysql php5-mcrypt php5-gd

A common simple PHP config could include:

grep -v '^\s*\(;\|$\)' /etc/php5/fpm/*.conf

[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
include=/etc/php5/fpm/pool.d/*.conf

grep -v '^\s*\(;\|$\)' /etc/php5/fpm/pool.d/*.conf[www]

user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
pm.max_requests = 384
request_terminate_timeout = 30s
chdir = /var/www

# restart it
pgrep php5-fpm && sudo /etc/init.d/php5-fpm restart
sleep .5
pgrep php5-fpm || sudo /etc/init.d/php5-fpm start

Because of the above 'chdir = /var/www' and 'group = www-data' files
inside /var/www/ like, for instance, those inside /var/www/koshiefr/
should be owned (and readable, or read/writeable) by group www-data

REMEMBER:
- keep it simple,
- do trust nginx defaults as they usually work rather well,
- test each config file well and restart/reload its parent app (nginx
or php) before doing another config change.

And, if you can live with a lighter Nginx, you can try my own
extra-light nginx builds from: https://launchpad.net/~malan/+archive/dev
sudo dpkg -i nginx-common*.deb
sudo dpkg -i nginx-light*.deb

Regards,

M.

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 20, 2013 05:30PM

Re: 502 bad gateway error with php5-fpm on Debian 7

Francis Daly February 20, 2013 05:42PM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 20, 2013 05:56PM

Re: 502 bad gateway error with php5-fpm on Debian 7

Francis Daly February 20, 2013 06:14PM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 20, 2013 06:38PM

Re: 502 bad gateway error with php5-fpm on Debian 7

Francis Daly February 20, 2013 06:56PM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 21, 2013 04:26AM

Re: 502 bad gateway error with php5-fpm on Debian 7

Wolfsrudel February 21, 2013 05:17AM

Re: 502 bad gateway error with php5-fpm on Debian 7

Wolfsrudel February 21, 2013 05:26AM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 21, 2013 06:10AM

Re: 502 bad gateway error with php5-fpm on Debian 7

Mark Alan February 21, 2013 07:48AM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 21, 2013 08:10AM

Re: nginx + php5-fpm on Debian

Mark Alan February 21, 2013 03:08PM

Re: 502 bad gateway error with php5-fpm on Debian 7

w.b March 01, 2013 08:56AM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD Kévin February 21, 2013 06:14AM

Re: 502 bad gateway error with php5-fpm on Debian 7

Francis Daly February 21, 2013 08:52AM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD kévin March 02, 2013 02:02PM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD kévin March 02, 2013 02:16PM

Re: 502 bad gateway error with php5-fpm on Debian 7

GASPARD kévin March 03, 2013 07:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 141
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready