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

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?

Submit an answer

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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

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.