我正在 Rackspace 上设置一个服务器,用于迁移现有网站,以便在更改 DNS 条目之前使一切正常运行。
使用默认设置,我让服务器在 IP 地址上工作没有遇到任何问题。然后,我复制了原始的 sites-available 文件,在 sites-enabled 中对其进行了符号链接,并将原始文件复制index.html
到新文件夹中。我将 sites-available 根目录设置为新文件夹,然后在文件夹和文件上执行了chown -R www-data:www-data
。chmod 775
之后chmod 664
,我重新启动了 Nginx。
当我打开该网站的 IP 地址时,出现 404 Not Found 错误。
可用站点如下:
server {
listen [::]:80 default_server;
root /var/www/example.com/public/;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
答案1
Linux 总是令人感到谦卑。nginx 邮件列表中的某个人善意地指出我应该检查 的权限/var/www/
,结果我在chmod
上输入了错误的代码/var/www/
。现在一切都正常了。继续迁移...
答案2
我立即看到的问题是根选项上有一个尾随斜线。
改变/var/www/example.com/public/
改成:/var/www/example.com/public
此外,如果上述操作没有成功,请尝试下面的代码,这将摆脱 localhost 元素并硬设置您想要使用的域。
server {
listen 80;
server_name your-domain.com www.yourdomain.com;
root /var/www/example.com/public;
index index.html index.htm;
location / { }
error_page 404 /404x.html;
}