FastDFS安装之首次在虚拟机上配置nginx(二)

2018-10-31  本文已影响48人  黑人的嘿

nginx安装之前一定要确定是否已经安装了必备的依赖库,我这里因为第一次安装不知道需要安装相应的依赖库,一直在报错,浪费了很多时间在这个上面。
nginx基本的依赖库有pcre、zlib、openssl这三个,这三个是一定要安装的。其中zlib国内的网下载不了,要不翻墙要不自己搞搞镜像试试。
nginx中:
l gzip模块需要 zlib 库
l rewrite模块需要 pcre 库
l ssl 功能需要openssl库
我这里已经下载了最新的zlib库,需要的话可以拿过去直接用。
链接:zlib-1.2.11下载链接 密码:d7nb

一、安装pcre

http://www.pcre.org/上可以获取当前最新的版本。
我的虚拟机上没有安装yum,那怎么办,只能去官网直接下载了,这里请了解一下prceprce2的区别。
首先切换到管理员:

sudo su

依次执行下方命令:

wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
cd /home/user/下载/
tar -zxvf pcre-8.42.tar.gz
cd pcre-8.42
./configure
make
make install

二、安装openssl

http://www.openssl.org/source/上可以获取当前最新的版本。
依次执行下方命令:

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
cd /home/user/下载/
tar -zxvf openssl-1.1.1.tar.gz
./config
make
make install

三、安装zlib

http://www.zlib.net/上可以获取当前最新的版本,但国内进不去,我这已经下载好了。
链接:zlib-1.2.11下载链接 密码:d7nb

cd /home/user/下载/
tar -xvf zlib-1.2.11.tar
./configure
make
make install

四、安装nginx

首先安装fastdfs-nginx-module
执行以下命令:

wget https://github.com/happyfish100/fastdfs-nginx-module.git
unzip fastdfs-nginx-module-master.zip

wget http://nginx.org/download/nginx-1.13.12.tar.gz 
tar -zxvf nginx-1.13.12.tar.gz 

然后进入nginx-1.13.12目录中

cd nginx-1.13.12

若安装时找不到上述依赖模块,使用--with-openssl=<openssl_dir>--with-pcre=<pcre_dir>--with-zlib=<zlib_dir>指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。
我当时发现错误之后我就安装了这三个库,之后我是用安装路径在执行了一遍下面的命令。

./configure --prefix=/usr/local/nginx/ --add-module=/home/user/下载/fastdfs-nginx-module-master/src/ --with-pcre=/home/user/下载/pcre-8.42 --with-zlib=/home/user/ 下载/zlib-1.2.11 --with-openssl=/home/user/下载/openssl-1.1.1

make

make install

之后需要配置fastdfs-nginx-module的源码
先进入解压好的fastdfs-nginx-module-master中,然后进入src/

cd /home/user/下载/fastdfs-nginx-module-master/src/

然后将配置文件复制到/etc/fdfs/

    cp mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
    cd /etc/fdfs/

进入/etc/fdfs/之后编辑mod_fastdfs.conf这个配置文件

vim /etc/fdfs/mod_fastdfs.conf

修改一下内容如下:

connect_timeout=10
# the base path to store log files 
base_path=/home/python/log
# FastDFS tracker_server 
tracker_server=当前虚拟机的IP地址:22122 
# store_path#, based 0, if store_path0 not exists, it's value is base_path 
# the paths must be exist 
# must same as storage.conf 
store_path0=/home/python/fastdfs/storage
# if the url / uri including the group name 
url_have_group_name = true 

如果出现以下的错误:

[2017-03-26 11:52:26] ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
[2017-03-26 11:52:26] ERROR - file: /opt/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2017/03/26 11:52:26 [alert] 12135#0: worker process 12136 exited with fatal code 2 and cannot be respawned

说明你的/etc/fdfs/下没有http.confmime.types这两个文件,你需要将这两个文件从解压目录中复制过去,然后从来一遍就可以了。

五、修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf 
user nobody;
worker_processes 1;
events {
    worker_connections 1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    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;
        }
    }
}

这个location ~/group([0-9])/,~后面是正则匹配 ,只要访问nginx的地址里面如果有group([0-9]) 这些字符的话就会去ngx_fastdfs_module 中把这个文件返回。

六、启动nginx & 重启nginx

到这里我们就配置成功了,下面我们就启动nginx。

/usr/local/nginx/sbin/nginx 
# 重启
sbin/nginx -s reload

然后你可以在同一个网段下的任意一台电脑输入你刚刚配置的IP地址就会出现以下画面,记得IP地址要加上端口号哦~


image.png

七、关闭nginx

sudo /usr/local/nginx/sbin/nginx -s stop

也可以直接kill掉。

八、测试fastDFS上传文件

接着我们测试一下FastDFS。

fdfs_upload_file /etc/fdfs/client.conf /home/user/下载/5.jpg 

上传成功后会生成这样一个文件:
这里我们就看到了group的身影,具体group是个什么东西请看上一篇文章。

group1/M00/00/00/rBC3hlvZXbWAU966AAD9MJ3jEcI773.jpg

然后我们在同一网段下的任何电脑打开这个地址:


image.png

这样我们就成功了,通过这个地址,nginx就会通过FastDFS把这个图片返回回来。


以上就是我个人创建fastdfs以及搭建nginx的流程与步骤,期间擦剩了好多的错误,由于心急我没有截图,好在我没有重复安装过,如果有哪里说的不对希望大家指正,感谢~

上一篇文章:首次Linux安装FastDFS最全流程(一)

上一篇下一篇

猜你喜欢

热点阅读