Can't get nginx to run virtual hosts (403 Forbidden - modified root structure)

June 2, 2015 17.4k views
Nginx CentOS FAQ

Looking for help from someone out there. I’ve searched through a lot of tutorials, and I feel like I’m close to a solution, but haven’t gotten it yet.

I’m running CentOS 7 on a new droplet. I want to run nginx to serve multiple virtual hosts. Here’s the list of commands I used to attempt to get nginx running from beginning to end:

sudo yum install nginx -y
sudo nano /etc/php-fpm.d/www.conf
    change apache to nginx in this section: Unix user/group of processes
sudo nano /etc/nginx/nginx.conf
    change worker_processes to 4
    add this under http: server_names_hash_bucket_size  64;
sudo nano /etc/nginx/conf.d/virtual.conf
        this configuration is pasted into the blank file:

server {
    listen       80;
    error_log /home/user/public_html/;

    location / {
        root   /home/user/public_html/;
        index  index.php index.html index.htm;

    # pass the PHP scripts to FastCGI server listening on
    location ~ .php$ {
        fastcgi_index  index.php;
        root    /home/user/;
        fastcgi_param  SCRIPT_FILENAME  /home/user/public_html/$fastcgi_script_name;
        include fastcgi_params;

mkdir -p /home/user/public_html/
chmod -R 755 /home/user/public_html
nano /home/user/public_html/
        paste this code in the file:



sudo systemctl start nginx && systemctl enable nginx.service

My DNS is pointing to the IP of the server. The issue I’m having is that I continue to get a ‘403 forbidden error’ message when I try to visit the site. After a while the other posts found on Google start to repeat themselves so I’m not getting any new answers that way. Anyone have any ideas as to why this isn’t working?

2 Answers

Hi! Do you see any errors in nginx’s error log?

tail /home/user/public_html/

What are the permissions on the home directory? Please post the output of ls -ld /home/user.

I finally got it. I found this page and used the permissions he listed, and it finally made nginx work:

Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!