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和 反向代理服务器, ...
随机推荐
- S11 Linux系统管理命令
11.1 lsof:查看进程打开的文件 11.2 uptime:显示系统的运行时间及负载 11.3 free:查看系统内存信息 11.4 iftop:动态显示网络接口流量信息 11.5 vmstat: ...
- 11.15 dmidecode:查询系统硬件信息
dmidecode命令可以用来在Linux系统下获取硬件方面的信息.dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS.处理器.内存.缓存等. dmidecode命令的参数选项及 ...
- 实操笔记:为 NSQ 配置监控服务的心路历程
在 Go 语言实现的实时消息队列中, NSQ 的热度可以排第一. NSQ 这款消息中间件简单易用,其设计目标是为在分布式环境下运行,为去中心化服务提供一个强大的基础架构.它具有分布式.去中心化的拓扑结 ...
- spark_shuffle方式的演进过程
spark shuffle有四种方式,分别是 hashshuffle 优化后的hashshuffle sortshuffle bypass 一.hashshuffle与优化 一开始spark的shuf ...
- C#中的数据结构
Array 连续性的内存空间 快速定位查找元素,随机访问性强,查找效率高 已知的统一的元素类型,减小运行时开销 固定长度,不能再新增元素 ArrayList 连续性的内存空间 快速定位查找元素,随机访 ...
- SQLZOO
一.SELECT basics/zh 以顯示德國 Germany 的人口. select population from world where name = 'Germany'; 查詢面積為 5,0 ...
- SQL SERVER常用语法记录
用于记录SQL SERVER常用语法,以及内置函数. 以下语句包含: WITH 临时表语法 ROW_NUMBER()内置函数,我一般主要是用来分页.针对于查出来的所有数据做一个数字排序 分页的BETW ...
- 基础BaseController
1.依赖状态枚举 /** * status enum */ public enum Status { SUCCESS(0, "success", "成功"), ...
- THINKPHP_(3)_TP6中实现多层关联,第一个表关联第二个表查询出的数据,再关联第三个表
问题: (1)canxunDanwei数据表对应的模型中有一个关联是: public function canxunDanwei() { return $this->belongsTo('\ap ...
- SLAM图优化g2o
SLAM图优化g2o 图优化g2o框架 图优化的英文是 graph optimization 或者 graph-based optimization, "图"其实是数据结构中的gr ...