docker -nginx
https://blog.csdn.net/cz_tyt/article/details/135211766
(版本号)
docker pull nginx:1.17.8
docker run --name nginx -p 9091:80 -d nginx:1.17.8
或者
docker run --name nginx -p 8080:8080 -p 8081:8081 -p 8082:8080 -d nginx:1.17.8
或者
docker run -d -p 80:80 -p 8080:8080 -p 443:443 -p 8081:8081 -p 8082:8082 --name nginx c613f16b6642
mkdir -p /data/nginx/{conf,conf.d,html,logs}
## 拷贝配置文件
docker cp 1022c6f181b9:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf ## 映射容器目录
docker cp 1022c6f181b9:/etc/nginx/conf.d/default.conf /data/nginx/conf.d/default.conf ## 复制映射容器目录
- 挂载并启动nginx
docker run -p 9091:80 --name nginx --privileged=true -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /data/nginx/logs:/var/log/nginx -d nginx:1.17.8
或者
docker run p 8080:8080 -p 8081:8081 -p 8082:8080 --name nginx --privileged=true -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /data/nginx/logs:/var/log/nginx -d nginx:1.17.8
命令说明:
–privileged=true 配置了nginx.conf的外部挂载 之后可能导致nginx不能启动,使用该命令;
-v /data/conf.d/default.conf:/etc/nginx/conf.d/default.conf 挂载默认配置文件
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf文件
-v /data/logs:/var/log/nginx 挂载日志目录
-v /data/html:/usr/share/nginx/html 挂载html目录
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
default.conf:
默认的 nginx 配置文件
nginx.conf:
nginx的主配置文件,它包含了全局配置和一些默认的设置,影响整个nginx服务器的行为,这个文件通常用于配置一些全局性的参数。
-----------------------------------------------------
2.nginx.conf
cat nginx.conf
1
user nginx;
#Nginx 主配置文件中的一个重要选项,用于指定 Nginx 服务器的工作进程数。
#每个工作进程都是一个独立的 Nginx 进程,用于处理客户端请求
#Nginx 将根据可用的 CPU 核数动态确定工作进程的数量。这样可以更好地利用多核系统的性能。
#例如:worker_processes 4,配置4个线程
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
#配置与连接处理相关的参数,如最大连接数
events {
worker_connections 1024;
}
#配置 HTTP 服务器的参数,设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#引入其他配置文件,通常用于模块化配置。在conf/mime.types查看支持哪些类型
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传输文件
sendfile on;
#tcp_nopush on;
#连接超时时间
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
————————————————
三、nginx负载均衡
1.配置服务器列表地址
修改配置文件 vim default.conf注意:我们nginx容器启动时-p 8080:80, 下面8001,8002,8003端口为别对应的三个web容器服务,也需要在启动时映射端口到80端口,例如 -p 8001:80
权重配置
#权重越大,命中概率更高 weight,可按照服务器资源来分配
upstream servercluster {
server 127.0.0.1:8001 weight=5;
server 127.0.0.1:8002 weight=3;
server 127.0.0.1:8003 weight=2;
}
然后需要在 location / {…}中进行配置
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_pass http://servercluster;
}