How to change the Nginx default folder?
I setup a server with Nginx and i set my Public_HTML in -
/home/user/public_html/website.com/public
And its always redirect to -
/usr/local/nginx/html/
How can i change this ?
Nginx.conf -
user www-data www-data;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
keepalive_timeout 5;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /usr/local/nginx/sites-enabled/*;
}
/usr/local/nginx/sites-enabled/default -
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root html;
}
}
/usr/local/nginx/sites-available/website.com -
server {
listen 80;
server_name website.com;
rewrite ^/(.*) http://www.website.com/$1 permanent;
}
server {
listen 80;
server_name www.website.com;
access_log
/home/user/public_html/website.com/log/access.log;
error_log
/home/user/public_html/website.com/log/error.log;
location / {
root
/home/user/public_html/website.com/public/;
index index.php index.html;
}
# pass the PHP scripts to FastCGI server listening on
# 127.0.0.1:9000
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_param SCRIPT_FILENAME
/home/user/public_html/website.com/public/$fastcgi_script_name;
}
}
The error message I get is
Fatal error: require_once() [function.require]: Failed opening required '/usr/local/nginx/html/202-config/functions.php'
the server try to find the file in the Nginx folder and not in my Public_Html
Solution 1:
You have placed your root
directive within a location
block, but it belongs in the server
block just outside it. This is a very common nginx misconfiguration.
Once you move it to the correct spot, you should find your scripts start working.
server {
#....
root /home/user/public_html/website.com/public/;
location / {