With some nginx modules in docker
- libfastcommon-1.0.35
- fastdfs-master (20170712)
- nginx-1.13.3
- fastdfs-nginx-module-master (20170710)
- echo-nginx-module-master (20170710)
- nginx-eval-module-master (20170712)
- ngx_http_redis-0.3.8
- storage.conf
## can not use 127.0.0.1
tracker_server=host-ip:22122
- mod_fastdfs.conf
tracker_server=127.0.0.1:22122
- nginx.conf
## if need check token from redis
upstream redisbackend {
server redis-server-ip:port;
keepalive 1024;
}
- 启用 https 当然要申请https证书,放置在容器中的/etc/cert/目录,阿里云免费证书申请方案请参考:https://www.jianshu.com/p/4f3bccd29bd9
### 如果启用https协议,请打开下面ssl 配置注释
### ssl 配置 start
# ssl on;
# ssl_certificate /etc/cert/214927684720376.pem;
# ssl_certificate_key /etc/cert/214927684720376.key;
# ssl_session_timeout 5m;
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_prefer_server_ciphers on;
### ssl 配置 end
- other conf files if you needed
## you can use your image name to replace name 'fastdfs-nginx'
docker build -t fastdfs-nginx .
## you can create your network for this server, like:
docker network create --driver bridge --subnet 192.168.1.0/20 network0
## should use host network (test pass)
docker run -itd \
--name fastdfs-nginx \
--network=host \
-v /etc/localtime:/etc/localtime:ro \
-v /var/log/fdfs/:/data/fdfs/logs/ \
-v /data/fdfs/data/:/data/fdfs/data/ \
-v /var/log/nginx/:/var/log/nginx/ \
fastdfs-nginx \
sh -c "/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart && /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart && /usr/sbin/nginx -g 'daemon off;'"
## if you want to use your network and use ip 192.168.16.6
## in this case, you should update some conf to make fdfs work
## like set tracker_server in storage.conf to 192.168.16.6
## the app which use fdfs-client-java to upload file should in the same network (not test yet)
docker run -itd \
--name fastdfs-nginx \
--network=network0 --ip=192.168.16.6 \
-p 22122:22122 \
-p 23000:23000 \
-p 24001:24001 \
-p 24002:24002 \
-p 11411:11411 \
-v /etc/localtime:/etc/localtime:ro \
-v /var/log/fdfs/:/data/fdfs/logs/ \
-v /data/fdfs/data/:/data/fdfs/data/ \
-v /var/log/nginx/:/var/log/nginx/ \
fastdfs-nginx \
sh -c "/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart && /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart && /usr/sbin/nginx -g 'daemon off;'"
## fetch file from server, if you need check token
http://ip:24001/group1/M00/00/00/xxxxxx?tk=zzz&&typ=yyy
## fetch file from server directly
http://ip:24002/group1/M00/00/00/xxxxxx.yyy