FastDFS安装之首次在虚拟机上配置nginx(二)
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
,那怎么办,只能去官网直接下载了,这里请了解一下prce
和prce2
的区别。
首先切换到管理员:
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.conf
和mime.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最全流程(一)