docker 安装 配置 nginx

安装配置

1、 下载nginx镜像

docker pull nginx

2、创建挂载目录

cd /usr/local/work/docker/nginx

在当前目录下创建:

mkdir logs :存放nginx日志

mkdir conf.d : 存放的镜像里default.conf文件

mkdir www : nginx网站目录

3、启动nginx 

docker run  -d nginx 

4、复制nginx容器配置文件

docker cp 容器id:/etc/nginx/nginx.conf  /usr/local/work/docker/nginx/nginx.conf

docker cp 容器id:/etc/nginx/conf.d/default.conf  /usr/local/work/docker/nginx/conf.d/default.conf 

5、关闭容器

docker stop  容器id

6、删除该容器

docker rm 容器id

 

7、创建新的nginx容器,并配置

docker run -d --name nginx -p 80:80 \
-v /usr/local/work/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/work/docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
-v /usr/local/work/docker/nginx/www:/usr/share/nginx/html \
-v /usr/local/work/docker/nginx/logs:/var/log/nginx \
nginx

8、在www目录下创建index.html

9、访问服务器ip或域名,显示index页面

======基本安装配置完成======

 

设置负载均衡(每次修改了配置,需要重启nginx容器让配置生效)

前提: 先在服务器启动服务一、服务二,端口8001,8002

方式一:在conf.d/default.conf 配置文件配置 (服务器域名)

# 在server 外面配置
# 轮询
upstream server1 {
    server 域名:8001 weight=5;
    server 域名:8002 weight=5;
 }



server{

    # 访问路径
    location /test/ {
        proxy_pass   http://server1/;
    }

}

由于是从nginx容器转发出来的,并转发到的域名+端口, 所以要在服务器的安全组 规则上 开放8001、8002端口

最后访问 域名/test 就能看到端口在切换了

方式二:通过ip 转发到宿主机的服务(不需要在服务器安全组打开8001、8002端口

# 172.17.0.1 为宿主机的ip
upstream server2{
   server 172.17.0.1:8001;
   server 172.17.0.1:8002;
}


# ip访问
 location /ip/{
    proxy_pass http://server2/;
}

 

注意proxy_pass 转发的时候,末尾 / 的区别

假如请求地址是: xxx.com/ip/test

1、proxy_pass http://server2/;  
这种转发到宿主机的地址就是:  172.17.0.1:8001/test

2、proxy_pass http://server2;  
这种转发到宿主机的地址就是:  172.17.0.1:8001/ip/test



 

 

设置服务器只允许域名访问

在server里面添加:

server_name  xxx.com;

if ($host != 'xxx.com'){
   return 403;
}

效果如下:

 

 

 

 

常用命令:

docker ps : 查看正在运行的容器

docker ps -a : 查看正在运行 和 已停止的容器

 

docker start 容器id : 启动已存在的容器

docker stop 容器id: 停止容器

docker restart 容器id:重启容器

 

docker rm 容器id:删除容器

docker rmi 镜像id:删除镜像

docker info:查看docker信息

docker inspect 容器id:查看容器信息、版本等

docker system + 参数 : 查看docker磁盘占用信息等

docker logs 容器id: 查看容器运行日志

docker logs --tail  20  容器id: 查看容器最后20行日志

示例:

docker logs -f -t --since="2017-05-31" --tail=10 容器Id

docker logs [OPTIONS] CONTAINER

Options:

--details 显示更多的信息

-f, --follow 实时输出日志,最后一行为当前时间戳的日志

--since string 输出日志开始日期,即只输出指定日期之后的日志。

--tail string 显示最后多少行日志, 默认是all
            (如: -tail=10 : 查看最后的 10 行日志。)

-t, --timestamps 显示时间戳

 

查看日志参考:https://cloud.tencent.com/developer/article/1486571

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值