准备工作
服务器:Linux(CentOS 7.x,Ubuntu)
Nginx安装
宝塔安装
通过宝塔面板编译安装 Nginx 1.15
Ubuntu源码安装
APT安装
1 | sudo apt-get install nginx |
源码安装
安装包:nginx-1.10.1.tar.gz
安装相关软件
安装gcc g++的依赖库(如果没有gcc)
1 | sudo apt-get install build-essential |
安装pcre依赖库
1 | sudo apt-get update |
安装zlib依赖库
1 | sudo apt-get install zlib1g-dev |
安装SSL依赖库(16.04默认已经安装了)
1 | sudo apt-get install openssl |
安装nginx
关于configure、make、make install
1 | 源码的安装一般由有这三个步骤:配置(configure)、编译(make)、安装(make install) |
configure
1 | 首先检查机器的一些配置和环境,系统的相关依赖。如果缺少相关依赖,脚本会停止执行,软件安装失败 |
make
1 | make是Unix系统下的一个包。执行make命令需Makefile文件。make会根据Makefile文件中指令来安装软件 |
make install
1 | 当执行make命令不加任何参数,程序就会按照Makefile的指令在相应的section间跳转并且执行相应的命令 |
配置软链接
1 | sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx |
现在就可以不用路径直接输入nginx启动。
配置开机启动服务
在/etc/init.d/下创建nginx文件,sudo vim /etc/init.d/nginx,内容如下:
1 | #!/bin/sh |
-
1 | #设置服务脚本有执行权限 |
现在基本上就可以开机启动了,常用的命令如下:
1 | sudo service nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade} |
fastDFS软件准备
fastdfs-5.10.tar.gz
libfastcommon-1.36.zip
fastdfs-nginx-module_v1.16.tar.gz
阿里云服务器准备
参考
https://www.cnblogs.com/guigujun/p/7804670.html
本人使用的是阿里云服务器,配置上和上面教程略有不同
阿里防火墙 开放端口 TCP 22122 23000 等,记得开放要用的端口,否则后面操作失败
由于有了阿里云防火墙,所以服务器上的防火墙基本都不想开了,因为如果开放一个端口,要改阿里防火墙和服务器防火墙 2个地方,太繁琐了,所以可以使用以下命令禁用服务器自身的防火墙
1 | #关闭防火墙 |
fastDFS安装
安装libfastcommon
使用软件上传所有FastDFS软件到服务器的 /home/package/fdfs目录上(目录自己建立)
1 | cd /home/package/fdfs |
安装fastDFS
1 | # 安装FastDFS |
配置tracker
1 | # 一并把后面要的所有目录创建 |
配置storage
1 | ***************************** |
配置client
1 | vim /etc/fdfs/client.conf |
检验
检验测试
1 | fdfs_moniter /etc/fdfs/client.conf |
检验上传下载
1 | # 图片 /home/temp/test.jpg |
fastdfs-nginx-module安装
Nginx相关
nginx安装
源码安装路径
1 | cd /home/package/nginx/nginx-1.10.1/ |
安装
1 | ./configure --add-module=/home/package/fdfs_nginx_module/fastdfs-nginx-module/src |
宝塔nginx安装
默认安装脚本路径
1 | /www/server/panel/install/nginx.sh |
nginx源码位置
1 | /www/server/nginx/src/ |
重新编译宝塔nginx
1 | cd /www/server/nginx/src/ |
查看nginx编译参数
1 | nginx -V |
返回结果(我的)
1 | --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module |
添加代码
1 | --add-module=/home/package/fdfs_nginx_module/fastdfs-nginx-module/src |
添加fastDFS模块(以上两部分整合)
1 | --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/home/package/fdfs_nginx_module/fastdfs-nginx-module/src |
nginx重新编译
1 | ./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/home/package/fdfs_nginx_module/fastdfs-nginx-module/src |
make
1 | fatal error: fdfs_define.h: No such file or directory |
vim 打开makefile目录下边的 objs/Makefile
在这个makefile中添加两个头文件
1 | vim /www/server/nginx/src/objs/Makefile |
make install
未安装nginx
直接make install
已安装
复制编译后产生的nginx文件,替换旧的nginx文件(自己需提前备份)
1 | cp /www/server/nginx/src/objs/nginx /www/server/nginx/sbin/ |
nginx启动
启动nginx, 只有一个master没有worker
查看日志文件
1 | /usr/local/nginx/logs/error.log |
mod_fastdfs.conf 配置文件
1 | base_path=/home/fastDFS/storage #log日志目录 |
nginx配置文件添加location
1 | location /group1/M00{ |
之前上传的图片路径为
1 | group1/M00/00/00/rBEx3l5k7cmAW6eiAAGyE0VtDsM290.jpg |
访问链接
http://39.96.209.253/group1/M00/00/00/rBEx3l5k7cmAW6eiAAGyE0VtDsM290.jpg