docker-compose 配置文件
version: '3.1'services: nginx: image: nginx:1.16.1 container_name: nginx restart: always ports: - 80:80 - 443:443 environment: - TZ=Asia/Shanghai volumes: - /srv/nginx/nginx.conf:/etc/nginx/nginx.conf - /srv/nginx/conf.d:/etc/nginx/conf.d - /var/log/nginx:/var/log/nginx - /srv/nginx/data:/data/
常见配置
user nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}http { client_max_body_size 50M; client_header_buffer_size 2M; large_client_header_buffers 4 1M; client_body_buffer_size 2M; include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; keepalive_timeout 65; gzip on; include /etc/nginx/conf.d/*.conf;}// 目录 conf.d data nginx.conf
server { listen 80; server_name static.nccrc.cn; # 开启gzip gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_length 1k; # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明 gzip_comp_level 5; # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。 # 是否在http header中添加Vary: Accept-Encoding,建议开启 gzip_vary on; # 禁用IE 6 gzip gzip_disable "MSIE [1-6]\."; # 设置压缩所需要的缓冲区大小 #gzip_buffers 32 4k; # 设置gzip压缩针对的HTTP协议版本 gzip_http_version 1.0; root /data/xxx/; location / { index index.html index.htm; try_files $uri $uri/ /index.html$args; }}#以下属性中,以ssl开头的属性表示与证书配置有关。server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 root html; index index.html index.htm; ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on; location / { root html; #站点目录。 index index.html index.htm; }}server { listen 80; server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 rewrite ^(.*)$ https://$host$1 #将所有HTTP请求通过rewrite指令重定向到HTTPS。 location / { index index.html index.htm; }}