我使用 Nginx 设置了一个服务器,并将我的 Public_HTML 设置为 -
/home/user/public_html/website.com/public
并且它总是重定向到 -
/usr/local/nginx/html/
我怎样才能改变这一点?
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;
}
}
我收到的错误信息是
致命错误:require_once() [function.require]:无法打开所需的“/usr/local/nginx/html/202-config/functions.php”
服务器尝试在 Nginx 文件夹中查找文件,而不是在我的 Public_Html 中查找文件
答案1
您将root
指令放在了块内location
,但它应该放在server
紧靠其外部的块中。这是非常常见的 nginx 配置错误。
一旦将其移动到正确的位置,您就会发现您的脚本开始工作。
server {
#....
root /home/user/public_html/website.com/public/;
location / {