docker安装部署Nginx通用标准

安装环境说明:预先在服务器安装docker服务,保证可正常拉取安装镜像。

Nginx环境基线定义:查询官方docker nginx版本地址:https://hub.docker.com/_/nginx

Nginx 需要映射出来相关目录如下:

/data
└── nginx       nginx服务映射配置文件目录位置
     ├── conf    nginx配置放在此目录
     ├── logs     nginx日志放在此目录
     ├── ssl       nginx使用SSL证书放在此目录
     └── www   nginx网站代码放在此目录

Nginx的web默认访问端口为 80 端口

Nginx的反向代理使用默认的端口以实际应用业务服务端口为准

快速部署

#这里使用内网镜像仓库10.10.3.126:8281拉取
 docker pull 10.10.3.126:8281/nginx:1.22.0
 mkdir -p /data/nginx/{www,conf,ssl,logs}
 docker run --name tmp-nginx-container -d 10.10.3.126:8281/nginx:1.22.0
 docker cp tmp-nginx-container:/etc/nginx /data/nginx
 docker cp tmp-nginx-container:/usr/share/nginx/html /data/nginx
 docker rm -f tmp-nginx-container
 \cp /data/nginx/nginx/* /data/nginx/conf/ 
 \cp /data/nginx/html/* /data/nginx/www/
 rm -rf /data/nginx/{nginx,html}
 docker run --name=nginx --restart=always \
-v /data/nginx/www:/usr/share/nginx/html \
-v /data/nginx/conf/:/etc/nginx/ \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/ssl:/usr/local/nginx/ssl \
-v /etc/localtime:/etc/localtime \
--net=host \
-d 10.10.3.126:8281/nginx:1.22.0

部署详解

1、拉取Nginx镜像件和目录

docker pull 10.10.3.126:8281/nginx:1.22.0

2、创建对应配置文件和目录

注意创建的目录权限需要777,否则启动会报错创建文件没有权限

mkdir -p /data/nginx/{www,conf,ssl,logs}

创建后文件目录如下:

/data
└── nginx       nginx服务映射配置文件目录位置
     ├── conf    nginx配置放在此目录
     ├── logs     nginx日志放在此目录
     ├── ssl       nginx使用SSL证书放在此目录
     └── www   nginx网站代码放在此目录

3、导出docker中nginx官方默认配置

文件内容命令如下:

$ docker run --name tmp-nginx-container -d nginx 
#以下根据使用场景选用配置目录 
#仅复制nginx.conf这个文件(针对配置变动加大,需要手动修改,或者已有子目录配置) 
$ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf 
#复制nginx下的conf文件夹所有内容(需要使用官方原版内容,变更内容较小时候) 
$ docker cp tmp-nginx-container:/etc/nginx /data/nginx
$ docker rm -f tmp-nginx-container
$ mv /data/nginx/nginx/* /data/nginx/conf/  
 rm -rf /data/nginx/nginx
 

nginx.conf 默认配置如下:

(使用哪个端口监听,反向代理这些请全部写到/data/nginx/conf.d目录下按域名划分配置文件,请勿修改/data/nginx/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;
}

4、启动docker Nginx命令

docker run --name=nginx \
--restart=always \
-v /data/nginx/www:/usr/share/nginx/html \
-v /data/nginx/conf/:/etc/nginx/ \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/ssl:/usr/local/nginx/ssl \
-v /etc/localtime:/etc/localtime \
--net=host \
-d 10.10.3.126:8281/nginx:1.22.0

5、检测Nginx服务是否启动成功,

查看服务端口是否监听命令:

netstat -antulp | grep 80

服务端口监听后,在浏览器的地址栏中输入服务器的ip地址:80,例:http://10.10.71.22:80/,即可访问Nginx的默认开始界面,注意服务器需要报80、443及相关业务端口加入安全组并且防火墙需要开发该端口(或者直接关掉防火墙)外网才能成功访问。

6、nginx版本隐藏设置

文章参考:https://l-t.top/2276.html

7、nginx日志分割设置

文章参考:https://l-t.top/2277.html

8、其他配置设置参考:

这篇文章带你全面掌握 Nginx !:https://l-t.top/2188.html

版权声明:
作者:WaterBear
链接:https://l-t.top/2274.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录