在docker中安装nginx并实现网站主备自动切换
在docker中安装nginx并实现网站主备自动切换
在宿主机上创建nginx目录
mkdir -p /etc/nginx/conf.d
mkdir -p /usr/share/nginx/html
mkdir -p /var/log/nginx
安装nginx
docker run --name my-nginx --restart always -p 80:80 -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/conf.d:/etc/nginx/conf.d -v /usr/share/nginx/html:/usr/share/nginx/html -v /var/log/nginx:/var/log/nginx -d nginx:1.17.4-alpine
将docker容器nginx配置文件拷贝到宿主机:
docker cp my-nginx:/etc/nginx/nginx.conf /etc/nginx/
docker cp my-nginx:/etc/nginx/conf.d/default.conf /etc/nginx/conf.d/
docker nginx与宿主机文件映射:
名称 | 宿主机路径 | docker容器 |
---|---|---|
nginx配置文件 | /etc/nginx/nginx.conf | /etc/nginx/nginx.conf |
配置文件目录 | /etc/nginx/conf.d | /etc/nginx/conf.d |
网站目录 | /usr/share/nginx/html | /usr/share/nginx/html |
日志文件目录 | /var/log/nginx | /var/log/nginx |
修改default.conf配置增加反向代理配置:
upstream servers {
server 172.39.8.240:8080;
server 172.39.8.240:8081 backup;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://servers;
}
}
重新加载配置
docker exec -it my-nginx nginx -s reload