本文方法最后发现行不通。
本文介绍在服务器上已经安装了nginx的情况下,安装fastdfs-nginx-module这个模块。
关于nginx的安装,参考这里:
自行下载fastdfs-nginx-module到/usr/local 目录下,并且解压。
假设你的nignx是解压到了 /root/nginx-1.16.1 这个目录,那么需要cd到这个目录下,然后执行:
./configure --add-module=/usr/local/fastdfs-nginx-module/src
编译之后,将会在objs的目录下重新生成一个nginx的可执行文件,可以复制,然后用来覆盖原来安装nginx时生成的nginx文件,这个文件默认在/usr/local/nginx/sbin/下,为了安全起见,向备份原来的文件
cd /usr/local/nginx/sbin
cp nginx nginx.back
cp /root/nginx-1.16.1/objs/nginx /usr/local/nginx/sbin
然后重新启动nginx(比如我的:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
下面设置fastdfs-nginx-module的配置文件:
sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
(比如我的:sudo cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf )
更改配置文件:
sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/fastdfs/storage
sudo cp 解压缩的fastdfs-master目录中的http.conf /etc/fdfs/http.conf
(比如我的:sudo cp /root/fastdfs-master/conf/http.conf /etc/fdfs/http.conf
)
sudo cp 解压缩的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
(比如我的:sudo cp /root/fastdfs-master/conf/mime.types /etc/fdfs/mime.types
)
sudo vim /usr/local/nginx/conf/nginx.conf
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
注意,配置文件中的格式经常要报错,该有的空格,缩进等,都要小心。比较保险的方法是:在原文件中,把已经注释的server配置进行手动更改,而不是从这里直接复制黏贴。
最后启动nginx
sudo /usr/local/nginx/sbin/nginx
安装完成。
注意:
如果安装好nginx和fastdfs-nginx-module 后,如果通过http地址还是看不到图片,那需要进入/usr/local/nginx/logs 查看错误的logs。根据具体的错误日志去更改。
比如我遇到的一个错误:
ERROR - file: ../storage/trunk_mgr/trunk_shared.c, line: 50, store_path_count: 0 is invalid!
只要到 /etc/fdfs/mod_fastdfs.conf 中去更改store_path_count = 1 就可以了。