【Docker系列】6.使用docker-compose安装nginx

吴均
2023-12-01

目录

1、创建目录

2、编辑nginx.conf配置文件

3、编辑docker-compose.yml文件

4、启动


1、创建目录

可以选择你想安装的路径,本示例放在了/home/nginx/里了。

conf 文件下的conf.d,server.d 是为了简化nginx.conf,可以根据项目,配置不同的server.d,方便系统化管理conf

cert 为证书目录

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf /home/nginx/conf/server.d /home/nginx/conf/conf.d /home/nginx/cert

在/home/nginx/www目录下放一个静态文件用于测试

cd /home/nginx/www
vim index.html

写入以下内容保存退出

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker搭建nginx</title>
</head>
<body>
    <h1>docker搭建nginx映射成功~~~~</h1>
</body>
</html>

2、编辑nginx.conf配置文件

cd /home/nginx/conf
vim nginx.conf

复制以下内容保存退出


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    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;
    
    server{
       listen 80;
       server_name localhost;
       charset utf-8;

       location / {
          root   /usr/share/nginx/html/;
          try_files $uri $uri/ =404;
          index  index.html index.html;
       }
       
       #error_page  404              /404.html;

       # redirect server error pages to the static page /50x.html
       #
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }
    }
    include /etc/nginx/server.d/*.conf;
}

3、编辑docker-compose.yml文件

cd /home/nginx/
vim docker-compose.yml

复制以下内容保存退出

version: '3.3'
services:
      nginx:
        image: nginx
        restart: always
        hostname: nginx
        container_name: nginx
        privileged: true
        ports:
          - 80:80
        volumes:
          - ./conf/:/etc/nginx/
          - ./cert/:/etc/cert/
          - ./www/:/usr/share/nginx/html/
          - ./logs/:/var/log/nginx/

4、启动

docker-compose up -d

 类似资料: