03 通过docker安装nginx

nginx是一款高性能的服务器,常用作反向代理、正向代理、动静分离以及负载均衡。本文将阐述使用docker安装nginx服务器,并通过nginx访问之前fastdfs上传的文件。

1、获取nginx

docker pull nginx

2、创建本地的nginx相关目录

mkdir -p /root/nginx/conf
touch /root/nginx/conf/nginx.conf
mkdir -p /data/nginx/logs
"/root/docker/fastdfs"该目录已经存在,就是我们上一篇文章当中创建的fastdfs的目录

3、将以下内容编辑到/root/nginx/conf/nginx.conf

user  root;  # 以root权限启动nginx,避免了出现406错误
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    server {
        location /group1/M00 {
      #映射逻辑路径到物理路径,倘若url中出现"/group1/M00",则替换为"/root/docker/fastdfs/storage/data"
        alias /root/docker/fastdfs/storage/data;
    }
    }
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
}

3、启动nginx

# privileged=true  代表宿主机子可以访问容器的资源
# -p 80:80  代表宿主机子的端口80映射到容器的端口80
# -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  代表宿主的文件映射到容器的文件
# -v /data/nginx/logs:/var/log/nginx  代表宿主的目录映射到容器的目录
# -v /root/docker/fastdfs:/root/docker/fastdfs  代表宿主的目录映射到容器的目录
# docker & 以后台方式启动docker镜像
docker run --name mynginx --privileged=true -p 80:80 -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /root/docker/fastdfs:/root/docker/fastdfs  nginx&

4、测试

  • 输入http://192.168.100.192/ ,我们看到出现了nginx的欢迎目录
  • 输入http://192.168.100.192/group1/M00/00/00/wKhkwFyrZ9-AWJPpAAAABjY6MCA50.html,我们看到打印出了hello,而这个文件正是上一篇文章中我们通过图片服务器上传的文件【注意,每次上传文件,哪怕是相同的文件,名称都会不一样,读者要根据自己的实际情况确认上传以后的文件名】
    至此,我们完成了通过docker安装nginx服务,并配置了nginx的反向代理,实现了通过nginx访问图片服务器上传的文件。

推荐阅读更多精彩内容