Centos8 安装fastdfs+nginx+redis
-
环境准备
-
yum、并且将yum换成国内源。
// 下载阿里云源文件 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo// 替换 阿里云镜像地址 sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo// 建立缓存 yum makecache如果提示permind is no definded.表示你没有权限,两种解决方案:
1终端输入 su ---》然后输入管理员密码xxxx--》重复上述步骤2 上述步骤2替换阿里云镜像地址改成
// 替换 阿里云镜像地址 sudo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo并输入管理员密码xxxx,步骤3切换成
// 建立缓存 yum makecache sudo yum makecache由于前面步骤有输入过一次,缓存里面有所以这里应该不会让你再输一次,如果需要密码就再输入一次
-
yum前置安装一些Fast、nginx需要的软件包
yum -y install net-tools vim wget git make cmake gcc gcc-c++
-
-
Centos安装单机版FastDfs
-
安装libfastcommon
git clone https://github.com/happyfish100/libfastcommon.git cd libfastcommon ./make.sh ./make.sh install -
fastdfs安装
git clone https://github.com/happyfish100/fastdfs.git cd fastdfs ./make.sh ./make.sh install #安装完成后会在/etc/fdfs/出现几个配置文件 cd conf cp http.conf anti-steal.jpg mime.types /etc/fdfs/ #移动fast需要的其他配置文件到目标文件夹下 -
配置文件修改
创建目录:重要!!!不创建文件启动的时候会报错配置文件里的文件夹地址都要存在。
mkdir -p /var/lib/fast-dfs/tracker mkdir -p /var/lib/fast-dfs/storage mkdir -p /var/lib/fast-dfs/client mkdir -p /var/lib/fast-dfs/nginx-module在/etc/fdfs文件夹下如果有以下红框文件,就直接修改,如果没有,则需要从fastdfs的下载包下面拷贝过来。

修改tracker进程的配置文件/etc/fdfs/tracker.conf:
将: base_path=/home/yuqing/fastdfs 改为: base_path=/var/lib/fast-dfs/tracker #用于存放日志。 将bind_addr换成自己虚拟机的ip: bind_addr =192.168.3.105 将http.server_port换成自己想要监听的端口号,默认8080 http.server_port=8088修改storage进程的配置文件/etc/fdfs/storage.conf:
将: base_path=/home/yuqing/fastdfs 改为: base_path=/var/lib/fast-dfs/storage #用于存放日志 将: store_path0=/home/yuqing/fastdfs 改为: store_path0=/var/lib/fast-dfs/storage #存放数据,若不设置默认为前面那个。 将: tracker_server=192.168.209.121:22122 改为: tracker_server=192.168.3.105:22122 #指定tracker服务器地址。 #端口根据自己需要更改 后面需要配置nginx代理 端口要与这里一致 将: http.server_port = 8888 改为 http.server_port = 8088修改client进程的配置文件/etc/fdfs/client.conf:
将: base_path=/home/yuqing/fastdfs 改为: base_path=/var/lib/fast-dfs/client #用于存放日志 将: tracker_server=192.168.0.197:22122 改为: tracker_server=192.168.3.105:22122 #指定tracker服务器地址。http.conf主要是防盗链的设置,如果不需要开则不用去修改配置文件
-
启动fastdfs进程
启动tracker进程: fdfs_trackerd /etc/fdfs/tracker.conf start fdfs_trackerd /etc/fdfs/tracker.conf stop 或者 systemctl enable fdfs_trackerd systemctl stop fdfs_trackerd systemctl start fdfs_trackerd systemctl status fdfs_trackerd 重启进程: fdfs_trackerd /etc/fdfs/tracker.conf restart 启动storage进程: fdfs_storaged /etc/fdfs/storage.conf start fdfs_storaged /etc/fdfs/storage.conf stop 或者 systemctl enable fdfs_storaged systemctl stop fdfs_storaged systemctl start fdfs_storaged systemctl status fdfs_storaged 重启进程: fdfs_storaged /etc/fdfs/storaged.conf restart -
查看进程状态
ps -ef|grep fdfs root 41336 7213 0 12:39 ? 00:00:00 fdfs_trackerd /etc/fdfs/tracker.conf start root 41355 7213 0 12:39 ? 00:00:01 fdfs_storaged /etc/fdfs/storage.conf start root 53127 29969 0 13:55 pts/0 00:00:00 grep --color=auto fdfs -
测试
#上传一个图片到服务器上,这个文件地址可以根据自己放的文件位置 [root@localhost ~]# ls test.jpg test.jpg [root@localhost ~]# fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg group1/M00/00/00/wKgBCl-02DCATp8bAABQAuDJvWo009.jpg #如果有如上返回信息则正确 这个是一会需要访问的地址 #查看/var/lib/fast-dfs/storage/data/00/00下是否有该文件。如果有则测试成功。接下来进行nginx安装以进行互联网访问上传的文件。
-
-
Centos安装Nginx
-
yum安装必要的软件包,这时候换国内源就很重要,因为下载真的很快
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel -
下载fastdfs-nginx-module、nginx ,说一下,这里一定要注意nginx的版本,因为git fastdfs-nginx-module是把它最新的包下下来,但是不一定能适配老版的nginx,因此,如果后续进行互联网访问不能访问,不妨试试换一下较新版的nginx,我用的是nginx1.19.7,之前用nginx.1.8.0不行。
git clone https://github.com/happyfish100/fastdfs-nginx-module.git wget http://nginx.org/download/nginx-1.19.7.tar.gz tar -xzvf nginx-1.19.7.tar.gz cd nginx-1.19.7 ./configure --prefix=/usr/local/nginx --add-module=PATH/fastdfs-nginx-module/src #(path为fastdfs-nginx-module的存放目录) make make install cp PATH/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ #(path为fastdfs-nginx-module的存放目录) -
make install之后会在对应的/usr/local/出现nginx/文件夹.
-
修改nginx配置文件,/usr/local/nginx/conf/nginx.conf:
server { listen 8088; server_name localhost;//切换为自己的ip, location ~ /group[0-9]/M00 { ngx_fastdfs_module; } }A、80 端口值是要与/etc/fdfs/storage.conf 中的 http.server_port=80 相对应, 因为 http.server_port 默认为 8888,如果想改成 80,则要对应修改过来。
B、Storage 对应有多个 group 的情况下,访问路径带 group 名,如/group1/M00/00/00/xxx, 对应的 Nginx 配置为:location ~ /group[0-9]/M00 { ngx_fastdfs_module; }C、如果下载时如发现老报 404,将 nginx.conf 第一行 user nobody 修改为 user root 后重新启动。
这是我的nginx.conf配置

-
加载fastdfs-nginx-module模块并修改其配置文件:
#PATH:fastdfs-nginx-module的目录 [root@localhost ~]# cp PATH/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ cp:是否覆盖"/etc/fdfs/mod_fastdfs.conf"? y vi /etc/fdfs/mod_fastdfs.conf 修改配置文件/etc/fdfs/mod_fastdfs.conf: 将: base_path=/tmp 改为: base_path=/var/lib/fast-dfs/nginx-module 将: tracker_server=tracker:22122 改为: tracker_server=192.168.3.105:22122 #自己的ip 将: url_have_group_name = false 改为: url_have_group_name = true #带group访问 将: store_path0=/home/yuqing/fastdfs 改为: store_path0=/var/lib/fast-dfs/storage -
很重要的一点,防火墙,如果你只想快速实验,直接把防火墙关掉,如果不想完全关闭,则只需要开放nginx需要的端口即可
关闭防火墙:启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld开放端口: 这里是本次,如果你机子重启了,对应的端口就关闭了,如果需要一直开着则后缀加一个--permanent
firewall-cmd –permanent –add-port=8088/tcp //就是nginx和tracker还有storage配置文件中设置的port firewall-cmd –permanent –add-port=8088/udp firewall-cmd –permanent –add-port=22122/tcp firewall-cmd –permanent –add-port=22122/udp firewall-cmd –permanent –add-port=23000/tcp firewall-cmd –permanent –add-port=23000/udp #需要一直开着则加--permanent ,如: firewall-cmd –permanent –add-port=8088/tcp --permanent firewall-cmd –reload //重新加载防火墙 -
启动nginx
#第一次启动 /usr/local/nginx/sbin/nginx #重启nginx的步骤 1--找到nginx的进程,8088就是之前设置的port lsof -i:8088 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 50494 root 9u IPv4 157803 0t0 TCP *:radan-http (LISTEN) nginx 50495 root 9u IPv4 157803 0t0 TCP *:radan-http (LISTEN) 2---杀死进程 kill 50494 3---重启nginx /usr/local/nginx/sbin/nginx #加载不同配置文件的nginx启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #查看nginx启动状态 ps -ef|grep nginx root 50494 7213 0 12:51 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf root 50495 50494 0 12:51 ? 00:00:00 nginx: worker process root 53343 29969 0 14:07 pts/0 00:00:00 vim nginx.conf root 53798 53651 0 14:22 pts/1 00:00:00 grep --color=auto nginx浏览器访问ip:8088。出现以下界面则nginx启动成功。(之前设置是192.168.3.105,但是我因为ip每天都有变化,所以这边用改变后的ip访问。其他对应的配置文件当ip改变的时候也需要去调整并且重启。)

-
访问上传的文件。互联网访问

我要访问放在/var/lib/fast-dfs/storage/data/00/00/下的这个图片,只需要互联网访问:http://192.168.3.178:8088/group1/M00/00/00/wKgDaWCGg7qAQ2pPAJriWfMpuBU043.png

这样fastdfs+nginx即完成配置且可进行文件访问。
-
-
Centos安装redis并开放让互联网访问
互联网安装
一个命令:
yum install redis默认会在/etc/出现redis文件夹
配置redis.conf
vim /etc/redis.conf 1、把bind这一行注释掉,因为这一行表示监听ip的访问,我们要互联网访问这一行就不需要了 2、protected-mode yes 改为 protected-mode no # 关闭保护模式启动redis:
systemctl start redis //重启 systemctl stop redis //开启开机自启动 systemctl enable redis开放防火墙端口(如有需要):
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=6379/tcp --permanent //重启防火墙 systemctl restart firewalldzip包安装
wget https://download.redis.io/releases/redis-6.0.9.tar.gz tar xzf redis-6.0.9.tar.gz cd redis-6.0.9 make make install后续配置步骤同上

浙公网安备 33010602011771号