我在 digitalocean 上的 Ubuntu 服务器版本 12.04 上运行 LAMP 堆栈,并使用 filezilla 上传文件。我将它们上传到 var/www,但不知何故,我尝试上传的图片没有显示。在 Linux 和互联网编程方面,我完全是个菜鸟。我仔细检查了 html,这不是问题所在。我想知道是否有人遇到过这个问题并知道如何解决它。
非常感谢您的帮助。
谢谢
答案1
如果您能够访问主 html 页面(即 index.html 或类似页面)或任何其他页面,并且图片位于 /var/www 目录下,那么这可能是权限问题。您遇到了哪些错误?没有权限?未找到?通过 ssh 登录到您的服务器(ssh USERNAME@SERVERIP
或从 Windows 运行 PuTTY),然后按顺序尝试以下操作,直到遇到问题或/以及在问题解决后停止:
- 确保您可以访问 Web 服务器上的任何文件。索引页是否出现?如果没有,则说明您的 LAMP 设置不正确。请再次阅读教程或在此处发布其他问题。
- 确保您的文件都在那里。确保
ls /var/www
您能看到您要上传的文件。如果您看到了文件,请跳至步骤 6。 - 使用 ftp 和管理员或 www-data 用户的凭据重新上传您的文件。尝试再次查看您的图像。
如果上传成功并且您看到了文件
ls /var/www
,请跳至步骤 6。如果在 Ubuntu 上,请使用 scp 手动添加文件:scp /path/to/picture.png USERNAME@SERVERIP:/var/www/
如果文件仍然不存在或使用 Windows,请通过外部媒体(即闪存驱动器)手动添加文件。
- 运行
chmod 755 /var/www -R
。这将允许任何人读取所有文件,但只允许 /var/www 的所有者更改文件。尝试再次查看您的图片。 - 如果此方法无效,则可能存在其他权限问题。请执行
ls -lR /var/www
并向我们展示输出。
我能想到的唯一其他办法是使用某种过滤器阻止直接访问图片。如果这对您有帮助,请告诉我!