Docker应用部署之Nginx

部署nginx

要求:在docker容器中部署nginx,并通过外部机器访问nginx

步骤:

1.搜索nginx镜像

docker search nginx

2.拉取nginx镜像

docker pull nginx

3.创建容器

#在root目录下创建nginx目录用于存放nginx项目

mkdir ~/nginx

cd ~/nginx 

mkdir conf

cd conf

#在~/nginx下创建nginx.conf文件 并且输入以下配置

#全局块
#user  nobody;
worker_processes  1;

#event块
events {
    worker_connections  1024;
}

#http块
http {
    #http全局块
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    #server块
    server {
        #server全局块
        listen       8000;
        server_name  localhost;
        #location块
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    #这边可以有多个server块
    server {
      ...
    }
}

docker run -id --name=c_nginx \

-p 80:80 \   #将宿主机80端口映射到宿主机的80端口

-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \  #将宿主机目录下的nginx.conf挂载到容器的配置目录文件

 -v $PWD/log:/var/log/nginx \  #将宿主机目录下的log文件挂载到容器的日志文件下

-v $PWD/html:/usr/share/nginx/html \   

nginx

4.测试访问

输入宿主机的IP地址进行访问 http:// ip

5.代理配置

location /test/ {  
    proxy_pass http://127.0.0.1:8888/;   
    proxy_read_timeout 90;   
    proxy_http_version 1.1;   
    proxy_set_header Upgrade $http_upgrade;   
    proxy_set_header Connection $http_connection;  
    proxy_set_header Host $host;  
    proxy_set_header X-Real-IP $remote_addr;  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;  
    proxy_cache_bypass $http_upgrade; 
}
这样请求 http://127.0.0.1/test/index.html 会访问到容器的 http://127.0.0.1:8888/index.html

你可能感兴趣的:(Linux,nginx,docker,运维)