1.动态库问题以及解决方案
1.1问题发现
在Linux环境下编写C程序时,经常需要使用动态库,这里给出常见动态库问题的解决方案。
开源项目使用redis中的examples.c程序
直接使用指令对example.c进行编译
gcc example.c
出现以下错误
提示缺少头文件hiredis.h,使用查找指令
find /usr/local/include -name "hiredis.h"
导入头文件继续进行编译
gcc examples.c -I /usr/local/include/hiredis -o example
出现动态库未找到错误
找到动态库文件的目录
1.2 解决动态库问题的三种方案
1.
使用环境变量LD_LIBRARY_PATH
将动态库的绝对路径添加到该环境变量中
LD_LIBRARY_PATH = /usr/include/xxx:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
写入到配置文件当中
~/.bashrc -用户级别
/etc/profile -系统级别
2.
给动态库设置软连接 /usr/USERNAME/fastdfs
将软连接放到 /usr/lib /usr/lib64 /lib /lib4
sudo ln -s /usr/USERNAME/fastdfs/XXX.so /usr/lib/libXXX.so
3.(推荐)
刷新/etc/ld.so.cache
vi etc/ld.so.conf
sudo ldconfig -v
1.3
完成动态库配置之后,再检查动态库链接情况
ldd example
执行redis-test程序
2.fastDFS基本配置
1.默认配置文件的位置
/etc/fdfs
2.Tracker追踪器配置
修改配置文件
bind_addr = 192.168.82.101
port = 22122
base_path = /home/USERNAME/fastDFS/tracker
启动tracker服务
fdfs_trackered /etc/fdfs/tracker.conf
sudo fdfs_trakcerd /etc/fdfs/trakcer.conf restart
sudo fdfs_trakcerd /etc/fdfs/trakcer.conf stop
3.Storage配置
group_name = group1 //存储节点所属的组
bind_addr = 192.168.82.101 //存储节点绑定的IP
port = 23000
base_path = /home/USERNAME/fastDFS/storage
store_path_count = 1//存储目录的个数
store_path0=/home/USERNAME/fastDFS/storage //配置具体存储目录
tracker_server=192.168.82.101:22122
启动Storage服务
fdfs_storaged /etc/fdfs/storage.conf
4.Clinet配置
base_path = /home/USERNAME/fastDFS/client
tracker_server=192.168.82.101:22122
5.检测fdfs环境
6.进行文件上传至服务器
fdfs_upload_file /etc/fdfs/client.conf makefile(some file...)
至此,fastDFS服务器配置完成
来源:CSDN
作者:static_Geek
链接:https://blog.csdn.net/mly8410112/article/details/75263699