最近在linux下安装fastdfs服务器的时候,发现修改好相关的配置文件之后;启动nginx静态资源服务器,上传图片成功后,输入storage服务器给出的图片存储路径。
例如 http://192.168.1.5/group1/M00/00/00/wKgBBVfsGhyAKA81AABdrZgsqUU814_big.jpg。却出现404错误,确保相关配置没有错误,还是无法正确访问到对应路径下的静态资源(图片,html/css/js文件),最后分析出来——是由于配置文件在windows环境下修改后进行上传,导致配置文件的格式发生了变化,linux无法识别所致。
解决办法:安装dos2unix工具包,将修改过的配置文件转换成unix格式即可。
提醒:对于linux下的文件,最好在linux下使用vi编辑命令修改相关内容,虽然在windows下使用EditPlus、notepad++的FTP插件可以方便对Linux下文件进行编辑,但这也很有可能会使得修改后上传上去的文件格式发生变化从而导致相关服务报错。当然,如果修改的内容过于繁杂,为了提高工作效率,可以在windows下进行编辑,但上传后建议用dos2unix命令转换一下文件格式。
dos2unix简介:dos2unix命令用来将DOS格式的文本文件转换成UNIX格式(DOS/MAC to UNIX text file format converter)。常用参数:
将DOS格式文本文件转换成Unix格式,最简单的用法就是dos2unix直接跟上文件名。
格式:dos2unix file
如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)
格式:dos2unix file1 file2 file3
格式:dos2unix -o file1 file2 file3
上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。
格式:dos2unix oldfile newfile
如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。
格式:dos2unix -k file
格式:dos2unix -k file1 file2 file3
格式:dos2unix -k -o file1 file2 file3
格式:dos2unix -k -n oldfile newfile
注:unix2dos命令的使用方式与dos2unix命令的类似。
参考文章:Linux命令之dos2unix、dos2unix命令。