专栏首页sktjDocker 搭建nginx

Docker 搭建nginx

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_user] [

request" ' '

body_bytes_sent "

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • bootstrap bootstrap-modal.js 模态对话框 并获得传值

    <!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <m...

    用户5760343
  • flask gunicorn 部署

    workers = multiprocessing.cpu_count() * 2 + 1

    用户5760343
  • bootstrap bootstrap-modal.js 模态对话框

    <!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <m...

    用户5760343
  • Nginx配置文件nginx.conf中文详解

    老七Linux
  • 使用goproxy实现内网穿透 原

    内网穿透由三部分组成:Control端(A)、bridge&server端(B)、agent端(C)。Control与server通过bridge进行桥接。

    阿dai学长
  • java架构之路-(六)nginx的反向代理和优化配置

      书接上回说,nginx我们学会了简单的配置。那么我今天来聊一下,我们ngxin的一些优化配置(我不是很懂,不敢谈高级配置)。我先来看一下nginx的好处和正...

    小菜的不能再菜
  • centos下frp和nginx实现公用80端口进行微信公众号开发

    在上一篇《centos 安装frp 实现内网穿透进行微信公众号开发》中我们讲解了怎么在centos下安装frp实现内网穿透。在本篇文章中,讲解怎么配置nginx...

    凯哥Java
  • python 服务器的架构搭建

    今天我将给大家介绍一种简单的python服务器的架构搭建:nginx + gunicron+supervisor + Django

    用户2398817
  • Scrapy爬取美女图片第三集 代理ip(上)

    七夜安全博客
  • nginx.conf文件浅析

    #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

    随心助手

作者介绍

精选专题

活动推荐

扫码关注云+社区

领取腾讯云代金券