网络云盘项目——Nginx配置(配置Nginx访问FastCGIFastDFS)
Posted 董哥的黑板报
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络云盘项目——Nginx配置(配置Nginx访问FastCGIFastDFS)相关的知识,希望对你有一定的参考价值。
一、本文目的
- 本项目分为6篇博客文章完成:
- 1.项目总体介绍:https://blog.csdn.net/qq_41453285/article/details/107871393。
- 2.Redis部署、MySQL部署、MySQL表设计:https://blog.csdn.net/qq_41453285/article/details/107871620。
- 3.FastDFS部署:https://blog.csdn.net/qq_41453285/article/details/107874068。
- 4.Nginx配置:本文介绍的。
- 5.服务端/客户端部署、演示运行效果:https://blog.csdn.net/qq_41453285/article/details/107891262。
- 6.HTTP接口介绍、功能介绍、服务端/客户端代码解析:https://blog.csdn.net/qq_41453285/article/details/107893049。
- 因为我们的nginx需要将Qt客户端的请求转发给后台的FastCGI进行处理,因此需要配置Nginx使其可以访问FastCGI程序。
- 另外,我们的FastCGI会调用FastDFS的C API来操作FastDFS。
源码下载方式
- 方式1:公众号《董哥的黑板报》回复【3578】获取百度云盘链接。
- 方式2:Github开源链接GitHub - dongyusheng/cloud-disk: 网络云盘。
二、Nginx的安装
- Nginx的安装就不详细介绍了,请参阅:使用源码包编译安装Nginx_董哥的黑板报的博客-CSDN博客。
三、FastDFS配置
向Nginx中编译fastdfds-nginx-module模块
- fastdfds-nginx-module模块是可以通过Nginx访问FastDFS的。
- fastdfds-nginx-module模块下载下来之后,需要重新编译Nginx,将这个模块编译进Nginx。
- 模块的安装就不详细介绍了,请参阅:Nginx访问fastdfs(fastdfds-nginx-module模块)_董哥的黑板报的博客-CSDN博客。
FastDFS集群搭建
- 后端需要使用到FastDFS,因此需要搭建一个集群。
- 集群就是使用前一篇文章中的,请参阅:https://blog.csdn.net/qq_41453285/article/details/107874068。
添加FastDFS相关的配置文件
- FastDFS集群和Nginx都安装好之后现在还不能正常使用Nginx,还需要修改一些配置文件。
- 将fastdfds-nginx-module模块源码包中的src目录下的mod_fastdfs.conf文件拷贝一份到/etc/fdfs目录下。
sudo cp ~/build/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ ls /etc/fdfs/
- 修改/etc/fdfs/mod_fastdfs.conf配置文件,修改的内容如下:
- base_path:此storage服务节点数据和日志存储路径(填写我们那个FastDFS集群中storage节点的地址)。
- tracker_server:此storage服务节点工作在哪个tracker_server服务节点下(如果有多个,那么可以写多个,每一个占一行)。
- storage_server_port:此storage服务节的监听端口。
- url_have_group_name:设置为true,表示URL中可以包含组的名字(例如浏览器通过带有组名的URL去访问Nginx就需要设置这一项)。
- store_path0:此storage服务节存储文件数据的路径。
- group_count:设置组的个数,此处我们有1个组,并设置相关的参数。
sudo vim /etc/fdfs/mod_fastdfs.conf
- 将fastdfs源码目录conf/目录下的http.conf、mime.types也复制到/etc/fdfs/目录下。
sudo cp ~/build/fastdfs/conf/http.conf /etc/fdfs/ sudo cp ~/build/fastdfs/conf/mime.types /etc/fdfs/ ls /etc/fdfs/
- 备注:如果不复制“http.conf、mime.types”,直接去启动Nginx,那么会出现Nginx会报下面的错误(在/usr/local/nginx/logs/error.log中查看),从而导致Nginx的worker进程会启动失败,导致也无法提供Web服务,原因是/etc/fdfs/下缺少 http.conf 和 mime.types文件。
修改Nginx配置文件
- 将/usr/local/nginx/conf/目录下的nginx.conf(这个是Nginx的默认配置文件)拷贝一份为nginx.conf.default,然后修改nginx.conf。
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.default sudo vim /usr/local/nginx/conf/nginx.conf ls /usr/local/nginx/conf/
- 添加如下的内容如下:
四、FastCGI配置
- 我们的Nginx会将接收到的请求转发给后台FastCGI进行处理,因此还需要一系列的配置
ngx_http_fastcgi_module模块的安装
- Nginx有一个fast_cgi模块(ngx_http_fastcgi_module模块),其能与任何兼容FastCGI协议的服务器通信,该模块通过 fastcgi 协议将指定的客户端请求转发至 spawn-fcgi 处理。
- 安装就不详细介绍了,请参阅:Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)_董哥的黑板报的博客-CSDN博客。
cgi开发库的安装
- 我们的服务端会调用C API访问FastCGI程序,因此需要安装cgi开发库。
- 安装就不详细介绍了,请参阅:Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)_董哥的黑板报的博客-CSDN博客。
spawn-fcgi进程管理器的安装
- FastCGI程序需要使用spawn-fcgi来运行,因此还需要安装这个工具。
- 安装就不详细介绍了,请参阅:Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)_董哥的黑板报的博客-CSDN博客。
修改Nginx配置文件
- 修改/usr/local/nginx/conf/目录下的nginx.conf,内容如下:
sudo vim /usr/local/nginx/conf/nginx.conf
以上是关于网络云盘项目——Nginx配置(配置Nginx访问FastCGIFastDFS)的主要内容,如果未能解决你的问题,请参考以下文章
IDEA启动项目通过https进行访问,nginx配置https访问
IDEA启动项目通过https进行访问,nginx配置https访问