前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 搭建nginx

Docker 搭建nginx

作者头像
用户5760343
发布2019-10-30 11:02:51
8320
发布2019-10-30 11:02:51
举报
文章被收录于专栏:sktjsktj

1、 docker pull nginx

docker pull daocloud.io/nginx

mkdir -p /www/log mkdir -p /www/html 2、 docker run -p 8801:80 --name nginx01 -v /www:/www -v /www/log:/www/log -v /www/html:/www/html -v /etc/nginx.conf:/etc/nginx/nginx.conf -itd nginx

firewall-cmd --add-port=8801/tcp --permanent

firewall-cmd --reload

3、vi /etc/nginx.conf

user www www;

worker_processes 4;

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;

error_log /www/log/nginx_error.log crit; pid /www/nginx.pid; worker_rlimit_nofile 204800; events { use epoll; worker_connections 204800; } http { include mime.types; default_type application/octet-stream; charset utf-8; keepalive_timeout 60; sendfile on;

log_format main '[

remote_addr] - [
remote_addr] - [

remote_user] [

time_local] "
time_local] "

request" ' '

status
status

body_bytes_sent "

http_referer" ' '"
http_referer" ' '"

http_user_agent" "$http_x_forwarded_for"'; access_log /www/log/access.log access;

server_names_hash_bucket_size 128; client_header_buffer_size 2k; large_client_header_buffers 4 4k; client_max_body_size 8m;

open_file_cache max=204800 inactive=20s; open_file_cache_min_uses 1; open_file_cache_valid 30s;

tcp_nopush on; tcp_nodelay on;

gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on;

upstream backend {

ip_hash;

server backend1.example.com weight=5 max_fails=3 fail_timeout=30 max_conns=800;

server backend2.example.com:8080;

server backup1.example.com:8080 backup;

}

server { listen 80; server_name 127.0.0.1; index index.php index.htm; root /www/html/; location / {

proxy_pass http://backend;

proxy_redirect off;

后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m; #允许客户端请求的最大单文件字节数

client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数

proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)

proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

} location /status { stub_status on; } location ~ .*/.(gif|jpg|jpeg|png|bmp|swf|js|css)$ { expires 30d; } } }

4、日志切割

vi /etc/logrotate.d/nginx01

/www/log/access.log { daily rotate 30 create 644 root root missingok notifempty compress sharedscripts postrotate docker exec nginx01 bash -c "if [ -f /www/nginx.pid ]; then kill -USR1 docker exec nginx01 cat /www/nginx.pid; echo 日志打包完毕; fi" endscript }

5、切割测试 logrotate -d -f /etc/logrotate.d/nginx01

手动执行

logrotate -f /etc/logrotate.d/docker_nginx

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker pull daocloud.io/nginx
  • firewall-cmd --add-port=8801/tcp --permanent
  • firewall-cmd --reload
  • user www www;
  • worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;
  • upstream backend {
  • ip_hash;
  • server backend1.example.com weight=5 max_fails=3 fail_timeout=30 max_conns=800;
  • server backend2.example.com:8080;
  • server backup1.example.com:8080 backup;
  • }
  • proxy_pass http://backend;
  • proxy_redirect off;
  • 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
  • proxy_set_header Host $host;
  • proxy_set_header X-Real-IP $remote_addr;
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • client_max_body_size 10m; #允许客户端请求的最大单文件字节数
  • client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
  • proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
  • proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
  • proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
  • proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
  • proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
  • proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
  • proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
  • vi /etc/logrotate.d/nginx01
  • 手动执行
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档