自定义网站根目录文件
我见过太多人在Nginx的自定站根默认页面上浪费人生。那个写着“Welcome to nginx”的义网蓝底白字,像一堵墙,目录把本该属于你的文件网站挡在门外。其实自定义网站根目录这件事,自定站根说穿了就三步:改配置、义网建目录、目录丢文件进去。文件但真正让人卡壳的自定站根,往往是义网那些文档里没写明白的细节。 拿最常见的目录Apache举例。你打开httpd.conf,文件找到那行 Nginx的玩法又不一样。它的root指令可以放在server块里,也可以放在location块里。放错位置就等着踩坑吧——你明明改了 还有个容易忽略的点:根目录下的index文件。Apache默认找index.html,Nginx默认找index.html或index.htm。你要是在根目录只放了个index.php,Apache会直接给你列目录(如果开了autoindex)或者报403。Nginx更干脆,直接404。所以要么改配置里的 Windows上跑IIS的同学也别笑,你们那边更隐蔽。IIS的根目录绑定在站点属性里,但真正坑人的是“请求筛选”模块。你放了个.html文件,默认能访问;放了个.json,默认被拦。得去功能视图里手动添加文件扩展名。这种图形界面操作反而比改文本配置更容易漏步骤,因为选项藏在三级菜单下面,找不到的人只能干瞪眼。 说到个人观察,我发现很多新手最大的障碍不是技术,是心理。他们总觉得根目录是系统的东西,不敢动,怕弄坏了起不来。其实备份一下原配置,随便折腾,大不了恢复。我自己第一次改的时候,把Apache搞崩了三次,最后一次成功时那种“原来就这么简单”的感觉,比看十篇教程都管用。 最后提醒一句:改完配置一定要测DocumentRoot "/var/www/html",自定站根把路径换成/home/yourname/site。义网保存,目录重启服务,完事?天真。权限问题会立刻跳出来咬你一口。Apache默认以www-data用户运行,你放在home目录下的文件,它根本读不了。这时候两个选择:要么chown -R www-data:www-data /home/yourname/site,要么把目录挪到/var/www/下面再建个软链接。我习惯后者,因为改所有权容易把系统文件搞乱,软链接出了问题删掉重来就行,干净利落。root /opt/myapp;,结果访问时还是加载旧页面。多半是没清缓存,或者配置文件里有两处root,后面的覆盖了前面的。用nginx -T能把你当前的完整配置打印出来,排查这类问题比翻文档快十倍。DirectoryIndex或index指令,要么老老实实放个index.html做跳转。我见过有人折腾半天,最后发现只是文件名拼错了——index.htm和index.html,就差一个字母。nginx -t或者apachectl configtest,确认语法没毛病再重启。别直接service restart,万一写错了,服务起不来,线上业务直接停摆。那种教训,一次就够你记一辈子。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-