Nginx shows welcome page, its picking up from
/usr/share/nginx/html
But not from:
/home/nginx/domains/XYZDomain.com/public/
In Directory:
/etc/nginx/conf.d
2 Configurations Files:
default.conf
virtual.conf
default.conf file output
# Main Local
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
#
location ~ \.php$ {
include fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
}
virtual.conf file output:
server {
listen 80;
server_name www.XYZDomain.com;
rewrite ^/(.*) http://XYZDomain.com/$1 permanent;
location / {
root /home/nginx/domains/XYZDomain.com/public/;
index index.html;
}
}
nginx.conf file in /etc/nginx/nginx.conf output
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
All Directories with permissions.
ls -la /home/nginx/domains/XYZDomain.com
drwxr-s--- 6 root root 4096 Jul 1 12:54 .
drwxr-xr-x 3 root root 4096 Jul 2 14:44 ..
drwxr-s--- 2 root root 4096 Jun 30 15:58 backup
drwxr-s--- 2 root root 4096 Jun 30 15:58 log
drwxr-s--- 2 root root 4096 Jun 30 15:58 private
drwxr-sr-x 2 root root 4096 Jul 2 15:01 public
I have tried modifying default.php and virtual.conf file
Can Anyone can help me what’s wrong in this? I am really confused and have wasted a whole day on this. I did reviewd other similar questions, google, etc… but this seems weird.
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.
This question was answered by @noors:
setenforce: SELinux is disabled Still, its behaving same.
Update:
Bobby, I transferred all the domain files into
/var/www/html/DOMAIN.com/public
and changed .conf file root directory accordingly.
Now it is working fine. Is there anything else, I can/should/must do?
Thanks for everything.
Looks great!
Good luck with your project :)
Regards, Bobby
@bobbyiliev Thanks for your awesome support man!
I am using certbot for ssl and cloudflare for caching.
Here is my final **virtual.conf **file
Hi Noors,
O’m happy to hear that it’s working now!
No that’s pretty much it. I can see that you’ve got PHP-FPM already installed.
The only thing that I would suggest is installing an SSL certificate as well :)
Regards, Bobby
@bobbyiliev
Update:
Bobby, I transferred all the domain files into
/var/www/html/DOMAIN.com/public
and changed .conf file root directory accordingly.
Now it is working fine. Is there anything else, I can/should/must do?
Thanks for everything.
I think that in this case it would be SELinux that’s causing the issue as you are running the website from /home rather than the default /var/www.
Can you try running this command:
Let me know how it goes! Bobby
I always get 403 Forbidden nginx/1.16.0
http://prntscr.com/o9ynol
On Changing user to nginx
I did that to all the directories:
On tail
2019/07/03 10:25:12 [error] 26313#26313: *3 "/home/nginx/domains/XYZDomain.com/public/index.html" is forbidden (13: Permission denied), client: 142.111.2xx.1xx, server: www.XYZDomain.com, request: "GET / HTTP/1.1", host: "XYZDomain.com"
Checking /etc/passwd –x–
nginx:x:498:498:nginx user:/var/cache/nginx:/sbin/nologin
–x–Is something wrong in here?
Hello,
Exactly, do not run your web servers as root. It’s better to change the permissions and the ownership of the files and folders at /home/nginx/domains/XYZDomain.com/public/ to the nginx default user.
You can do that with the chown command:
Hope that this helps! Bobby
https://stackoverflow.com/questions/19285355/nginx-403-error-directory-index-of-folder-is-forbidden/19302688
This helped me
changing user in nginx.conf to root
Though, I guess it can be harmful?
I tried changing