Docker-compose部署nginx

创建配置文件

mkdir -p /usr/local/docker/nginx
cat > /usr/local/docker/nginx/docker-compose.yml<<'EOF'
version: '3.1'
services:
nginx:
# 镜像名称
image: nginx
# 容器名字 docker run --name
container_name: nginx
# 开机自动重启
restart: always
ports:
- '8090:80'
- '8091:8080'
volumes:
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./conf.d:/etc/nginx/conf.d
- ./stream.d:/etc/nginx/stream.d
- ./html:/usr/share/nginx/html
EOF
mkdir -p /usr/local/docker/nginx/conf
mkdir -p /usr/local/docker/nginx/conf.d
mkdir -p /usr/local/docker/nginx/stream.d
mkdir -p /usr/local/docker/nginx/html
touch /usr/local/docker/nginx/conf/nginx.conf
touch /usr/local/docker/nginx/conf.d/default.conf
cd /usr/local/docker/nginx
docker-compose up -d nginx

Nginx.conf

cat >/usr/local/docker/nginx/conf/nginx.conf<<'EOF'
user nginx;
worker_processes auto;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
worker_rlimit_nofile 65535; error_log /var/log/nginx/error.log error;
pid /var/run/nginx.pid; events {
# 多路复用 内核2.6以上版本,大大提高Nginx性能
use epoll;
worker_connections 65535;
} http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
proxy_read_timeout 240s; 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;
access_log off;
client_header_buffer_size 10M;
sendfile on;
#tcp_nopush on; keepalive_timeout 60; #gzip on; include /etc/nginx/conf.d/*.conf;
}
stream {
include /etc/nginx/stream.d/*.conf;
}
EOF

网站配置

cat >/usr/local/docker/nginx/conf.d/web.conf<<'EOF'
server{
listen 80;
server_name 10.1.30.108;
location / {
root /usr/share/nginx/html/html80;
index index.html index.htm;
}
}
server{
listen 8080;
server_name 10.1.30.108;
location / {
root /usr/share/nginx/html/html8080;
index index.html index.htm;
}
} EOF
mkdir -p /usr/local/docker/nginx/html/html80
mkdir -p /usr/local/docker/nginx/html/html8080
echo 'Hello Html80' > /usr/local/docker/nginx/html/html80/index.html
echo 'Hello Html8080' > /usr/local/docker/nginx/html/html8080/index.html

END

[Docker]compose一键部署nginx的更多相关文章

  1. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  2. Docker Compose一键部署Nginx反向代理Tomcat集群

    目录结构如下 mysql/conf/my.cnf [mysqld] user=mysql port=3306 datadir=/var/lib/mysql socket=/var/lib/mysql/ ...

  3. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  4. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  5. 开源跨境ERP - 小老板 Docker/Docker Compose一键部署

    先上部署成功后的截图,各个菜单点击均无报错 DockerCompose 包含: 1. 三个mysql5.7数据库 2. redis php会话存储+ memcached 3. 小老板php主程序 do ...

  6. Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...

  7. Docker Compose + Spring Boot + Nginx + Mysql

    Docker Compose + Spring Boot + Nginx + Mysql 实践 我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的 ...

  8. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken

    前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...

  9. shell脚本一键部署nginx

    一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

随机推荐

  1. Centos7.x & RedHat7.x系统忘记 root 密码解决办法

    重启系统进入引导页面 先将机器重启 根据提示按下e进入内核编辑页面 找到linux16参数行,并在行尾加上rd.break,之后按下Ctrl+X重启 如上图所示,重启之后将进入救援模式. 这是依次输入 ...

  2. djangoRestFrameWork的小知识

    djangoRestFrameWork的小知识 重写序列化器的save方法 有时候,.create()和.update()方法名称可能没有意义.例如,在联系表格中,我们可能没有创建新实例,而是发送了电 ...

  3. go 闭包函数

    一.什么是闭包函数? 二.匿名函数可以被赋值给变量并作为值使用: package main import "fmt" func main(){ f() } func f(){ fo ...

  4. [go]map基本使用和底层原理

    1.map基本使用 map声明 var m4 map[int]int //只是声明 没有开辟空间 m4[1]=100 //报错 log.Println(m4) 创建 //1 m3:=make(map[ ...

  5. 用robotframework 标准库String解决由于存在千分位分隔符导致两个数值不相等的问题。

    在编写robotframework自动化断言的过程中,我遇到了如下问题: 我想写一个两个金额判断是否相等的断言,其中一个金额是展示字段存在千分位分隔符,另一个金额是input带入字段,没有千分位分隔符 ...

  6. python3(八) function

    # Python 常用内置函数 https://docs.python.org/3/library/functions.html#abs print(help(abs)) # Return the a ...

  7. 一个lock锁就可以分出低中高水平的程序员对问题的处置方式

    说到lock锁,我相信在座的各位没有不会用的,而且还知道怎么用不会出错,但让他们聊一聊为什么可以锁住,都说人以群分,大概就有了下面低中高水平的三类人吧. 第一类人 将lock对象定义成static,这 ...

  8. .Net Core结合AspNetCoreRateLimit实现限流

    前言 相信使用过WebApiThrottle的童鞋对AspNetCoreRateLimit应该不陌生,AspNetCoreRateLimit是一个ASP.NET Core速率限制的解决方案,旨在控制客 ...

  9. 搞搞hibernate.current_session_context_class

    搞搞hibernate.current_session_context_class 分类: 排错记录2010-09-01 18:14 4155人阅读 评论(3) 收藏 举报 sessionhibern ...

  10. 一个spring 基本知识的微博(怎么加载多个xml、多个property文件、aop配置、监视器)

    http://blog.sina.com.cn/s/blog_61c5866d0100ev44.html