FastDFS installation configuration, fastdfs
FastDFS
FastDFS is customized for the Internet, fully considering redundant backup, load balancing, linear resizing and other mechanisms, and paying attention to high availability, high performance and other indicators, using FastDFS, you can easily build a high-performance file server cluster to provide file upload and download services.
1. The required installation package
2. Install the server (disable the Server Firewall service iptables stop setenforce 0)
192.168.241.20.------------------------> tracker server
192.168.241.138 ------------------------> storage server (group1)
192.168.241.139 ----------------------> storage server (group1)
3. tracker Installation
Yum-y install gcc-c ++ (install the compilation tool)
Yum-y install libevent (FastDFS depends on libevent Library)
Mv libfastcommonV1.0.7.tar.gz/usr/local (put libfastcommon in the/usr/local directory)
Cd/usr/local
Tar-zxvf libfastcommonV1.0.7.tar.gz (decompress libfastcommon)
Cd libfastcommon-1.0.7/
./Make. sh (compile libfastcommon)
./Make. sh install (install libfastcommon)
Cp/usr/lib64/libfastcommon. so/usr/lib (Note: After libfastcommon is installed, the library file is automatically copied to/usr/lib64, because the FastDFS program references the usr/lib directory, You need to copy the library files under/usr/lib64 to/usr/lib)
Mv FastDFS_v5.05.tar.gz/usr/local/(put the FastDFS installation package in the/usr/local directory)
Cd/usr/local
Tar-zxvf FastDFS_v5.05.tar.gz (unzip the FastDFS installation package)
Cd FastDFS
./Make. sh (compile FastDFS)
./Make. sh install (install FastDFS)
Cp/usr/local/FastDFS/conf/http. conf/etc/fdfs/(copy http. conf to the/etc/fdfs directory)
Cp/usr/local/FastDFS/conf/mime. types/etc/fdfs/(copy mime. types to the/etc/fdfs directory)
Cd/etc/fdfs/(enter the FastDFS configuration file directory)
Cp tracker. conf. sample tracker. conf (copy a new tracker configuration file)
Mkdir-p/home/FastDFS (create the FastDFS working directory)
Vim tracker. conf (configuration file, # HTTP port on this tracker server http. server_port = 8080 # the tracker server port = 22122 the default port is not configured here)
Base_path =/home/FastDFS
/Usr/bin/fdfs_trackerd/etc/fdfs/tracker. conf restart (start the tracker server)
4. storage Installation
Yum-y install gcc-c ++ (install the compilation tool)
Yum-y install libevent (FastDFS depends on libevent Library)
Mv libfastcommonV1.0.7.tar.gz/usr/local (put libfastcommon in the/usr/local directory)
Cd/usr/local
Tar-zxvf libfastcommonV1.0.7.tar.gz (decompress libfastcommon)
Cd libfastcommon-1.0.7/
./Make. sh (compile libfastcommon)
./Make. sh install (install libfastcommon)
Cp/usr/lib64/libfastcommon. so/usr/lib (Note: After libfastcommon is installed, the library file is automatically copied to/usr/lib64, because the FastDFS program references the usr/lib directory, You need to copy the library files under/usr/lib64 to/usr/lib)
Mv FastDFS_v5.05.tar.gz/usr/local/(put the FastDFS installation package in the/usr/local directory)
Cd/usr/local
Tar-zxvf FastDFS_v5.05.tar.gz (unzip the FastDFS installation package)
Cd FastDFS
./Make. sh (compile FastDFS)
./Make. sh install (install FastDFS)
Cp/usr/local/FastDFS/conf/http. conf/etc/fdfs/(copy http. conf to the/etc/fdfs directory)
Cp/usr/local/FastDFS/conf/mime. types/etc/fdfs/(copy mime. types to the/etc/fdfs directory)
Cd/etc/fdfs/(enter the FastDFS configuration file directory)
Cp storage. conf. sample storage. conf (copy a new tracker configuration file)
Vim storage. conf (# the port of the web server on this storage server http. server_port = 8888 by default, set as needed)
Group_name = group1 (group name)
Base_path =/home/FastDFS (Basic directory)
Store_path0 =/home/FastDFS/fdfs_storage (storage directory)
Tracker_server = 192.168.101.3: 22122 (tracker server)
Mkdir-p/home/FastDFS (create the FastDFS working directory)
Mkdir-p/home/FastDFS/fdfs_storage (storage directory)
/Usr/bin/fdfs_storaged/etc/fdfs/storage. conf restart (start the storage server)
5. Upload image test (tracker server)
Cd/etc/fdfs/
Cp client. conf. sample client. conf (you can test the upload and download operations through/usr/bin/fdfs_test if FastDFS is successfully installed)
Vim client. conf (modify the configuration file)
Base_path =/home/FastDFS
Tracker_server = 192.168.241.20.: 22122
Format:/usr/bin/fdfs_test client configuration file address upload File
For example, upload an image under/home to FastDFS:/usr/bin/fdfs_test/etc/fdfs/client. conf upload/home/567.png tracker server. Display log: storage Server:
6. FastDFS and nginx Integration
The tracker server installs nginx for load balancing, And the nginx server installs nginx for http download.
To reflect the load balancing effect, set 192.168.241.138 to group1 and 192.168.241.139 to group2.
6.1 install nginx on tracker
Yum install-y pcre-devel (dependency)
Yum install-y zlib-devel (dependency)
Yum install-y openssl-devel (dependency)
Mv nginx-1.8.0.tar.gz/usr/local (put the nginx installation package in the/usr/local/directory)
Cd/usr/local
Tar-zxvf nginx-1.8.0.tar.gz (unzip nginx installation package)
Mkdir-p/var/temp/nginx (create nginx temporary file directory)
Cd/usr/local/nginx-1.8.0
(Configure nginx prefix and specify the installation directory. Specify the temporary file directory/var/temp/nginx on the nginx installation directory, create temp and nginx directories under/var)
. /Configure \ -- prefix =/usr/local/nginx \ -- pid-path =/var/run/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 make (Compilation) make install (installation)
Cd/usr/local/nginx/conf/(open the nginx configuration file)
Vim nginx. conf (edit nginx configuration file)
upstream storage_server_group1{ server 192.168.241.138:8888 weight=10; } upstream storage_server_group2{ server 192.168.241.139:8888 weight=10; } server { listen 8080; server_name ccc.test.com; location /group1{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://storage_server_group1; } location /group2{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://storage_server_group2; } }
6.2storage: nginx
Yum install-y pcre-devel (dependency) yum install-y zlib-devel (dependency) yum install-y openssl-devel (dependency)
Mv fastdfs-nginx-module_v1.16.tar.gz/usr/local (put fastdfs and nginx integration package under/usr/local)
Mv nginx-1.8.0.tar.gz/usr/local (put the nginx installation package under/usr/local)
Tar-zxvf fastdfs-nginx-module_v1.16.tar.gz (extract integration package)
Cd fastdfs-nginx-module/src/(open the configuration folder)
Vim config
Modify the/usr/local/path in the config file to/usr/
Cp/usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf/etc/fdfs/(put the integrated configuration file in the fastdfs configuration folder)
Vi/etc/fdfs/mod_FastDFS.conf (modify the configuration file)
Base_path =/home/FastDFS
Tracker_server = 192.168.101.3: 22122
Url_have_group_name = true # The url contains the group name.
Store_path0 =/home/FastDFS/fdfs_storage # specify the file storage path
Cp/usr/lib64/libfdfsclient. so/usr/lib/
Mkdir-p/var/temp/nginx/client (create nginx/client Directory)
Nginx Installation
Tar-zxvf nginx-1.8.0.tar.gz
Cd nginx-1.8.0
. /Configure \ -- prefix =/usr/local/nginx \ -- pid-path =/var/run/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 =/usr/local/fastdfs-nginx-module/src make
Make install
Cd/usr/local/nginx/conf/(open the nginx configuration file)
Vim nginx. conf (edit nginx configuration file)
server { listen 8888; server_name 192.168.241.138; location /group1/M00/{ root /home/FastDFS/fdfs_storage/data; ngx_fastdfs_module; } }
Note: server_name specifies the local iplocation/group1/M00/: group1 is the group name of the nginx service FastDFS, and M00 is the ID automatically generated by FastDFS, corresponding to store_path0 =/home/FastDFS/fdfs_storage, if FastDFS defines store_path1, M01 is used here.