您现在的位置是:首页 >技术杂谈 >Docker应用部署之Nginx网站首页技术杂谈

Docker应用部署之Nginx

PC小可 2024-07-11 00:01:02
简介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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。