Linux系统下载:http://mirrors.huaweicloud.com/centos/7.8.2003/isos/x86_64
我使用的是:/CentOS-7-x86_64-DVD-2003.iso
1、先分别运行以下4条命令 安装依赖:Gcc、libevent、perl,依赖:pcre-devel、zlib-devel
yum install gcc-c++ -y
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
yum -y install libevent
yum install perl*
(1)解压tar -zxvf Libfastcommon
压缩包,并进入到压缩文件里。
链接: https://pan.baidu.com/s/1i76Ivtm7JMrx6um7xiRYvw 提取码: e67r
(2)编译文件./make.sh
(3)安装编译文件./make.sh install
(4)将类库拷贝到/usr/lib下cp /usr/lib64/libfastcommon.so /usr/lib/
(1)cd /opt
,解压tar -zxvf FastDFS_v5.05.tar.gz
,解压后文件名为:FastDFS
链接: https://pan.baidu.com/s/1exZEmRe0zHl2ZJ8eWWzGaw 提取码: pux9
(2)进入解压目录cd FastDFS
(3)运行命令./make.sh
,编译文件
(5)运行命令./make.sh install,安装
(6)进入cd /opt/FastDFS/conf
在配置目录中,将所有文件都拷贝到/etc/fdfs下cp * /etc/fdfs/
(7)创建目录,用来存放数据mkdir -p /opt/fastdfs/fdfs_storage
(8)进入cd /etc/fdfs/
,配置tracker.conf,
vi /etc/fdfs/tracker.conf
,设置软件数据和日志目录路径:/opt/fastdfs
(9)配置storage.conf(storage不需要安装,因为安装tracker时已经同时安装)
vi /etc/fdfs/storage.conf
软件目录:opt/fastdfs
Storage存储文件的目录:opt/fastdfs/fdfs_storage
Storage找到tracker服务,IP地址:端口。ip地址这里设置为linux本机ip地址。
(10)配置tracker和storage的开机自动服务
1、进入/etc/init.d
启动脚本目录,默认fastdfs已经生成
2、mkdir /usr/local/fdfs
创建一个目录,用来存放开启和关闭fastdfs的程序(因为启动和关闭程序还在安装目录下,所以将这两个程序cp到该目录)
进入安装目录/opt/FastDFs
cp stop.sh /usr/local/fdfs/
cp restart.sh /usr/local/fdfs/
3、Vi fdfs_trackerd
脚本文件,图中标红的地方对应的目录,应有的文件或程序务必一致!
4、vi fdfs_storage
脚本文件,图中标红的路径务必一致!
这里有坑!谨记上边图片画红线的和红方框的路径,务必要一致!!!
5、将这两个开机自启脚本加入linux服务
6、启动服务
7、使用命令:ps -ef|grep fdfs查看tracker和storage的服务开启情况。
(11)这两个服务都确认开启,就可以上传测试一下了:
FastDFS安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作。
修改/etc/fdfs/client.conf
vi /etc/fdfs/client.conf
base_path=/opt/fastdfs
tracker_server=192.168.67.163:22122
前面的ip地址修改成自己电脑的,后面的端口不用动
(12)测试:
将/root下的图片文件上传到fastdfs服务器中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/winteriscoming.jpg
(13)查看对应的上传路径:
/opt/fastdfs/fdfs_storage/data /00/00/wKhDo1qipbiAJC6iAAB1tayPlqs094_big.jpg
测试成功!这样fastdfs服务器就安装完毕了,花费时间接近4个小时,累死了!!!
(14)ps -ef|grep fdfs
查看fdfs进程运行情况
这里用命令kill杀掉进程,重启系统查看服务自启情况!
重启系统之后:开机自动启动服务成功!
(1)解压FastDFS-nginx-module插件
链接: https://pan.baidu.com/s/1pZW3y74-JXL_DaJAJlD5cQ 提取码: n6d2
(2)vi fastdfs-nginx-module/src/config
修改插件读取fdfs的目录(安装的时候,默认把fastdfs安装到了include目录下,故这里把路径中的local去掉即可)
(3) 将FastDFS-nginx-module插件整合fdfs的配置文件,拷贝到etc/fdfs的配置目录(整合fdfs的配置文件)cp mod_fastdfs.conf /etc/fdfs/
(4)vi mod_fastdfs.conf
这个文件修改4处地方(软件安装目录、tracker_service地址、Web的url是否包含group的路径名、上传文件存储目录)
软件安装目录
Tracker_server地址,ip地址为本地地址,端口不变。
Web的url是否包含group的路径名
上传文件存储目录
修改完这个文件,就安装完毕了。
如果运行之后带mod的错误,都是这个插件配置出问题了。注意了!!!
1、解压nginx的压缩包
链接: https://pan.baidu.com/s/14EcKiOJgZqAJ80L6tJoUIA 提取码: hv7y
2、进入nginx的解压文件目录,复制以下命令到输入行,直接回车运行:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/opt/fastdfs-nginx-module/src
解析一下命令:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
这段代码有bug!每次重启机器,都会删除nginx文件夹,再次运行,这里会报错没有这个文件。
下边有解决方案!!!
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
这里需要创建临时目录 mkdir -p /var/temp/nginx/client 后面没有的目录就一直创建
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/opt/fastdfs-nginx-module/src
这里加入一个插件(fastdfs和nginx整合的插件)
3、运行上方命令成功后,直接运行make
命令,编译文件
4、再运行make install
安装
5、修改nginx配置文件vi /usr/local/nginx/conf/nginx.conf
(默认安装到usr/local目录下)
6、cd /usr/local/nginx/sbin
,运行命令./nginx
启动nginx
7、创建临时的目录mkdir -p /var/temp/nginx/client
-p的意思就是,目录后面没有这个文件,就一直往后创建。
8、这里有个坑!!!
主机访问nginx的服务器,端口在linux系统目录文件/usr/local/nginx/conf/nginx.conf
这里的端口是80,还没有开放这个端口,所以主机无法访问。
9、执行下面的命令,开放80端口,主机就可以访问到nginx了
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
10、nginx通过fastdfs-nginx插件访问fastdfs,即可查看到图片了!!!
上传图片测试:storage返回的URL地址
http://172.25.0.11:80/group1/M00/00/00/rBkAC18ZakGAAtXGAALlUB6_mK8316_big.jpg这个链接的的80端口已经给nginx服务器代理了,所以可以省去。
在主机输入storage返回的URL地址,正常查看到storage存储的图片,访问成功!!!
11、第二天重启虚拟机的时候,发现问题了,nginx的pid文件莫名被删掉,导致程序运行不了。重启虚拟机后,再次重启nginx会报错:
nginx: [error] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
问题原因:提示信息说明在 /var/run/nginx/ 目录下找不到 nginx.pid 文件
(1)进入 cd /usr/local/nginx/conf/
目录,编辑配置文件vi nginx.conf
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
(3)将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
(5)cd /usr/local/nginx/sbin/
,再次启动nginx服务./nginx
。问题解决!!!
12、正常的启动nginx的话需要cd /usr/local/nginx/sbin
目录下,命令:./nginx运行nginx
这里设置开机启动,开机运行该命令。
vi /etc/rc.d/rc.local
这个文件
加入/usr/local/nginx/sbin/nginx
,wq
保存退出
这里要设置rc.local文件的权限(允许管理员读写执行)chmod 700 rc.local
重启,测试成功!