我在新机器上安装了 nginx 和 php-fpm。但是当我打开我的域名时,出现了 404 Not Found。(静态文件无法访问)。
文件:/etc/nginx/sites-available/elfchat.net
server {
listen 80;
server_name www.elfchat.net elfchat.net;
access_log /home/user/site.net/logs/access.log;
error_log /home/user/site.net/logs/error.log;
location / {
root /home/user/site.net/www;
index index.php;
}
location ~ \.php$ {
try_files $uri = 404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
在哪里可以找到为什么这不起作用?谢谢!
可能是它的文件权限吗?
$ ls -la ~
drwxr-xr-x 4 user user 4096 Jul 1 19:19 .
drwxr-xr-x 3 root root 4096 Jul 1 17:19 ..
-rw------- 1 user user 2589 Jul 1 20:01 .bash_history
-rw-r--r-- 1 user user 220 Jul 1 17:19 .bash_logout
-rw-r--r-- 1 user user 3392 Jul 1 17:19 .bashrc
drwxrwsr-x 4 user www-data 4096 Jul 1 18:18 site.net
-rw-r--r-- 1 user user 675 Jul 1 17:19 .profile
drwx------ 2 user user 4096 Jul 1 17:27 .ssh
$ ls -la ~/site.net/www/
drwxr-xr-x 2 user www-data 4096 Jul 1 19:24 .
drwxrwsr-x 4 user www-data 4096 Jul 1 18:18 ..
-rwxr-xr-x 1 user www-data 17 Jul 1 19:21 index.php
答案1
这里至少有两个明显的问题。
首先,你没有在块root
中定义 a server
。而是把它错误地放在了某个块中location
。这是最常见的 nginx 配置错误。
其次,你的一个try_files
陈述有一个拼写错误。= 404
应该是=404
。