How do I change the NGINX user?

May 12, 2015 11934hotness 1likes 0comments
Questions LEMP Stack Q & ACategory: NginxHow do I change the NGINX user?
Anonymous asked 9 years ago
I have a PHP script that creates a directory and outputs an image to the directory. This was working just fine under Apache but we recently decided to switch to NGINX to make more use of our limited RAM. I'm using the PHP mkdir() command to create the directory:
mkdir(dirname($path['image']['server']), 0755, true); 
After the switch to NGINX, I'm getting the following warning:
Warning: mkdir(): Permission denied in ... 
I've already checked all the permissions of the parent directories, so I've determined that I probably need to change the NGINX or PHP-FPM 'user' but I'm not sure how to do that (I never had to specify user permissions for APACHE). I can't seem to find much information on this. Any help would be great!
(Note: Besides this little hang-up, the switch to NGINX has been pretty seamless; I'm using it for the first time and it literally only took about 10 minutes to get up and running with NGINX. Now I'm just ironing out the kinks.)
1 Answers
lempstack answered 6 years ago
Before installation of lemp, you can modify the options.conf(run_user parameter).
Run nginx & php-fpm as www:www
1. Nginx
Edit nginx.conf and set user to www www;
If the master process is run as root, then nginx will setuid()/setgid() to USER/GROUP. If GROUP is not specified, then nginx uses the same name as USER. By default it’s nobody user and nobody or nogroup group or the –user=USER and –group=GROUP from the ./configure script.
2. PHP-FPM
Edit php-fpm.conf and set user and group to www.
user – Unix user of processes. Default “www-data”
group – Unix group of processes. Default “www-data”

This person is a lazy dog and has left nothing