docker安装和配置nginx
配置nginx
docker
配置nginx
本机ip是192.168.0.200
docker pull nginx
配置nginx
主机
vi /root/docker/nginx/nginx01.conf
写入
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 5s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
upstream tomcat {
server 192.168.0.200:8080;
server 192.168.0.200:8081;
server 192.168.0.200:8082;
}
server {
listen 5050;
server_name 192.168.0.200;
location / {
proxy_pass http://tomcat;
index index.html index.htm;
}
}
}
docker运行:
docker run -d --net=host -v /root/docker/nginx/nginx01.conf:/etc/nginx/nginx.conf --name=n1 --privileged nginx
配置nginx
备机
vi /root/docker/nginx/nginx02.conf
写入
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 5s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
upstream tomcat {
server 192.168.0.200:8080;
server 192.168.0.200:8081;
server 192.168.0.200:8082;
}
server {
listen 5051;
server_name 192.168.0.200;
location / {
proxy_pass http://tomcat;
index index.html index.htm;
}
}
}
运行:
docker run -d --net=host -v /root/docker/nginx/nginx02.conf:/etc/nginx/nginx.conf --name=n2 --privileged nginx
配置 keepalived
实现双机热备
配置前环境了解
- 虚拟ip:
192.168.0.201
- nginx主机ip:
192.168.0.200:5050
- nginx备机ip:
192.168.0.200:5051
配置主机
- 进入
docker
容器虚拟机
docker exec -it n1 bash
- 更新下
apt
apt update
- 下载
keepalived
apt-get install keepalived -y
- 下载
vim
apt-get install vim -y
- 修改
keepalived
配置
vi /etc/keepalived/keepalived.conf
写入配置
global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
router_id keep_104
}
vrrp_instance VI_1 {
# 表示状态是MASTER主机还是备用机BACKUP
state MASTER
# 该实例绑定的网卡名称
interface ens33
# 保证主备节点一致即可
virtual_router_id 51
# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
priority 100
# 主备之间同步检查时间间隔,单位秒
advert_int 2
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 123456
}
# 虚拟出来的ip,可以有多个(vip)
virtual_ipaddress {
192.168.0.199
}
}
virtual_server 192.168.0.199 5000 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.0.200 5050 {
weight 1
}
}
- 启动
keepalived
root@centOS:/# service keepalived start
[ ok ] Starting keepalived: keepalived.
配置备机
- 进入
docker
容器虚拟机
docker exec -it n2 bash
- 更新下
apt
apt update
- 下载
keepalived
apt-get install keepalived -y
- 下载
vim
apt-get install vim -y
- 修改
keepalived
配置
vi /etc/keepalived/keepalived.conf
global_defs {
router_id keep_105
}
vrrp_instance VI_1 {
# 备用机设置为BACKUP
state BACKUP
interface ens33
virtual_router_id 51
# 权重低于MASTER
priority 80
advert_int 2
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
# 注意:主备两台的vip都是一样的,绑定到同一个vip
192.168.0.199
}
}
virtual_server 192.168.0.199 5000 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.0.200 5051 {
weight 1
}
}
- 启动
keepalived
root@centOS:/# service keepalived start
[ ok ] Starting keepalived: keepalived.
记得退出
exit
开启
docker
容器内的ps
指令:apt-get install procps -y
接下来我们可以知道
nginx
配置的ip
地址:
http://192.168.0.200:5050/renren-fast/swagger/index.html
http://192.168.0.200:5051/renren-fast/swagger/index.html
此时keepalived
IP地址和端口
192.168.0.199:5000
一主一备
docker安装和配置nginx的更多相关文章
- docker安装与配置nginx详细过程
注:大鸟飞过,此方式只用于快速搭建使用 第一步 pull nginx 命令:docker pull nginx 第二步 启动nginx 命令:docker run --name nginx -p 80 ...
- Ubuntu Docker 安装和配置 GitLab CI 持续集成
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...
- Linux下安装与配置Nginx
一.准备 Nginx版本:nginx-1.7.7.tar.gz 请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...
- windows安装并配置 nginx
1,windows安装并配置 nginx 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载并压缩放到自己目录下面,不要有中文目录 进入cm ...
- docker安装与配置gitlab详细过程
docker安装与配置gitlab详细过程 1.打开网易镜像中心 https://c.163yun.com/hub#/m/home/ 2.搜索gitlab,获取下载地址.例如:docker pull ...
- Docker 安装并定制 Nginx 服务器
安装并定制 Nginx 1.查阅对应的官方文档,首先下载镜像文件: [spider@izwz9d74k4cznxtxjeeur9z local]$ sudo docker pull nginx [su ...
- 烂泥:Windows下安装与配置Nginx web服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关ng ...
- linux下面安装和配置nginx
下载nginx-1.0.2.tar.gz wget nginx-1.0.2.tar.gz 解压 nginx-1.0.2.tar.gz tar -xzvf nginx-1.0.2.tar.gz 配置安装 ...
- Linux 安装及配置 Nginx + ftp 服务器
Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...
随机推荐
- Ansible流程控制
Ansible流程控制 数据库操作问题: 数据库的操作问题,python需要依耐的模块MySQL-python . 数据库的操作 # 设置root的密码在,root的密码设置之后,创建用户和创建数据库 ...
- 云计算OpenStack核心组件---cinder存储服务(10)
一.cinder介绍 1.Block Storage 操作系统获得存储空间的方式一般有两种: (1)通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区.格式化.创建文件系统: ...
- linux中级之netfilter防火墙(firewalld)
一.firewalld主要概念 dynamic firewall daemon.支持ipv4和ipv6.Centos7中默认将防火墙从iptables升级为了firewalld.firewalld相对 ...
- String、Stringbuilder、StringBuffer异同
相同点: String.Stringbuilder.StringBuffer 都可以操作字符串 String 是被final修饰的,容量定长 Stringbuilder 和 Stringbuilder ...
- linux上传启动项目命令
使用Xshell 或其他远程链接登录工具登录服务器后 1.切换用户到root: sudo -i 账户密码 注意:可直接将jar包放入root用户目录下,避免有可能因为服务器文件夹权限设置导致在指定文件 ...
- Spring AOP开发时如何得到某个方法内调用的方法的代理对象?
Spring AOP开发时如何得到某个方法内调用的方法的代理对象? 问题阅读起来拗口,看代码 在方法中调用其他方法很常见,也经常使用,如果在一个方法内部调用其他方法,比如 public class U ...
- 从栈上理解 Go语言函数调用
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/518 本文使用的go的源码 1.15.7 前言 函数调用类型 这篇文 ...
- Linux 安装配置 tftp 服务器
1.安装TFTP服务 安装服务端 sudo apt-get install tftpd-hpa 安装客服端 sudo apt-get install tftp-hpa 2.创建TFTP服务器目录 cd ...
- 第三方数据格式库protobuf
protobuf初识 protobuf是一种高效的数据格式,平台无关.语言无关.可扩展,可用于 RPC 系统和持续数据存储系统. protobuf protobuf介绍 Protobuf是Protoc ...
- Lua在Windows下的安装、配置、运行
Lua在Windows下的安装.配置.运行 本文链接:https://blog.csdn.net/ChinarCSDN/article/details/78667262 展开 # Windows下安装 ...