Home >Operation and Maintenance >Nginx >How to install and configure FastDFS to integrate Nginx-1.13.3

How to install and configure FastDFS to integrate Nginx-1.13.3

WBOY
WBOYforward
2023-05-16 16:43:391672browse

1: Download fastdfs

We need three files in total

1.fastdfs Distributed file storage system

2.libfastcommon fastdfs function Library

 3.fastdfs-nginx-module Connect nginx function module

Please note when downloading that the format downloaded here is .zip and not tar.gz. The reason for this is that an error will occur when using the fastdfs-nginx-module module to integrate nginx. The reason is that the fastdfs version must be >= 5.11. Otherwise, an error will be reported when compiling nginx. You can look at the install file of the module for instructions. Since the version released by fastdfs is only up to 5.10, the author has not updated the version to 5.11. However, the code on github has been updated, so you can download it directly. Here is the author's github address

Note: To decompress files in zip format, the system needs to have unzip software installed. If not, you can use the command to install: yum install zip unzip

For the convenience of installation, you can switch to root permissions during the operation

After the download is completed, download the file Upload the folder to the server

How to install and configure FastDFS to integrate Nginx-1.13.3

Remind me again that all files here are in zip format. Use the command unzip filename to decompress each zip file one by one. For example: unzip fastdfs-master

The following is the situation after decompression. Because I don’t like the suffix with master, I deleted it after decompression. You can use the command operation mv oldfilename newfilename

For example: mv fastdfs-master fastdfs

<img src="https://img.php.cn/upload/article/000/887/227/168422662134669.png" alt="How to install and configure FastDFS to integrate Nginx-1.13.3">

Two: Install fastdfs

1. Install the fastdfs function library

After decompression, first enter the libfastcommon directory cd libfastcommon

Compile file ./make.sh

Installation: ./make.sh install

After the installation is completed , enter fastdfs cd fastdfs and libfastcommon the same installation method

Compile file ./make.sh

Installation: ./make.sh install

After the installation is completed, you can see two directories, which will be used later

How to install and configure FastDFS to integrate Nginx-1.13.3

3: Configuration

1. Configuration instructions

Please configure the configuration file differently according to the server. In this article, the tracker server and storage server are both installed on one server.

 2. Configuration file directory

After the installation is completed, an fdfs folder will be generated under /etc and enter the fast configuration file directory cd /etc/fdfs/ . You can see sample files ending with .sample.

How to install and configure FastDFS to integrate Nginx-1.13.3

For convenience, use the command to delete all the above files rm -f * , and then copy all the files in the /fastdfs/conf directory to /etc/fdfs Under contents.

How to install and configure FastDFS to integrate Nginx-1.13.3

Note: /fastdfs/conf is the decompressed fastdfs directory

3. Configure and start the tracker server

Open tracker.conf file vim ./tracker.conf , modify the base_path path to your own directory, do not modify it if the port or the like is not occupied

How to install and configure FastDFS to integrate Nginx-1.13.3

After the modification is completed, try to start tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

Note: The base_path path needs to be created in advance, otherwise Error report: error info: no such file or directory

After executing the command, it is found that there is no response. Then use the command netstat -unltp|grep fdfs to check whether it is started

How to install and configure FastDFS to integrate Nginx-1.13.3

You can see that the tracker server is already listening on port 22122

4. Configure and start the storage server

Next modify the storage.conf configuration file vim storage.conf , after opening the file, modify the base_path path in the same way, and modify the tracker server address and store_path at the same time. The port address and group name remain unchanged.

How to install and configure FastDFS to integrate Nginx-1.13.3

tracker server address:

How to install and configure FastDFS to integrate Nginx-1.13.3

store_path address:

How to install and configure FastDFS to integrate Nginx-1.13.3

Note : For the above tracker server address, please set it to the corresponding address of the server. If the port is not modified, keep it as default.

If the store_path path is not modified, the storage server service will not be started. There will be no prompt. You can open the stored.log file in the /fastdfs/logs folder to view the error message.

OK, after the modification is completed, start storage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start , but there is also no response. Then use the command netstat -unltp|grep fdfs to see if it is started

How to install and configure FastDFS to integrate Nginx-1.13.3

If the above picture appears, it means that the tracker server and storage server have been started successfully.

 5. Test the upload service

Next open the client.conf configuration file vim client.conf . You only need to modify the base_path and tracker_server.

How to install and configure FastDFS to integrate Nginx-1.13.3

After the modification is completed, try to upload the file. There happens to be a picture in the directory

How to install and configure FastDFS to integrate Nginx-1.13.3

Use the command to Image upload

 /usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg

How to install and configure FastDFS to integrate Nginx-1.13.3

When you see the long string of characters above, ok the upload was successful. And successfully returned the image address. Check the storage directory and find a few more pictures. One of the pictures has the same address suffix as the product picture, then the file has been stored locally.

How to install and configure FastDFS to integrate Nginx-1.13.3

Although the image address is returned, current fastdfs no longer supports the http protocol. http support has been removed in version 4.0.5, so it cannot be accessed directly through the image address. All we integrate nginx through the fastdfs module to provide http services.

4. Integrate nginx and fastdfs

1. Integrate module

It is assumed here that you have installed nginx and its dependent packages, if not yet To install nginx, you can read my other article: Centos7 Installing nginx

Integrating nginx does not require installing the fastdfs module. Just add the fastdfs-nginx-module module when configuring nginx. Let's start configuring nginx first, enter the configuration file

./configure 
--prefix=/opt/nginx 
--with-pcre=/home/mgame/soft/pcre-8.41 
--with-openssl=/home/mgame/soft/openssl-1.1.0f 
--with-zlib=/home/mgame/soft/zlib-1.2.11 
--add-module=/home/mgame/soft/fastdfs-nginx-module/src

in the nginx directory Compile make

Install make install

If the following error occurs during the installation process, please check the module install file, the requirements for the fastdfs version (the beginning of this article has stated that the fastdfs version of this article must be >= 5.11).

error: 'fdfshttpparams' has no member named 'support_multi_range'(pcontext->range_count > 1 && !g_http_params.support_multi_range))

How to install and configure FastDFS to integrate Nginx-1.13.3

 After the module is added to nginx and installed, go to the nginx installation directory/opt/nginx/conf and open the nginx.conf configuration file.

How to install and configure FastDFS to integrate Nginx-1.13.3

Note: The nginx directory here is set when configuring nginx. Please open the file according to your respective settings.

Add the following configuration to the file, leaving other port settings unchanged.

location /group1/m00 {
  ngx_fastdfs_module;
}

How to install and configure FastDFS to integrate Nginx-1.13.3

Note: There must be a slash in front of /group, otherwise when accessing, the root path will be the nginx installation directory.

 2. Configure module parameters

After the settings are completed, if you start nginx directly now, you will find that you still cannot access the image address that was successfully uploaded before. When I was puzzled, I thought that nginx had a logs folder to record details such as login and error messages.

Then open the error.log file and take a look. ok Found the problem

How to install and configure FastDFS to integrate Nginx-1.13.3

There are two obvious errors. The first line explains the cause of the error: file /etc/fdfs/mod_fastdfs.conf not exist The mod_fastdfs.conf file does not exist in the /etc/fdfs/ directory. The file is in the src directory of the module fastdfs-nginx-module

Now that the file location is found, go to the /fastdfs-nginx-module/src directory and copy the file mod_fastdfs.conf Copy to the /etc/fdfs/ directory Command: cp mod_fastdfs.conf /etc/fdfs/

After the operation is completed, open the mod_fastdfs.conf configuration you just copied File vim mod_fastdfs.conf, parameters for the three attributes tracker_server, url_have_group_name, and store_path0 respectively

Tracker_server:

How to install and configure FastDFS to integrate Nginx-1.13.3

## url_have_group_name:

How to install and configure FastDFS to integrate Nginx-1.13.3

Note: Because the accessed address contains the group name group1, if the generated address does not contain the group name, there is no need to set it.

Store_path0:

How to install and configure FastDFS to integrate Nginx-1.13.3

After the modification is completed, enter the

/opt/nginx/sbin directory and restart nginx. /nginx -s reload , and then visit the image address returned after the previous upload was successful.

How to install and configure FastDFS to integrate Nginx-1.13.3

After configuration, you can successfully access files stored in fastdfs.

The above is the detailed content of How to install and configure FastDFS to integrate Nginx-1.13.3. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete