Docker 集成搭建 NGINX

1、华为云 Flexus X 实例

2、docker 安装

yum install -y docker-ce


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker

 

3、验证 Docker 是否安装成功,启动 docker 服务并设置开机自启动,且查看 docker 状态

docker --versionsystemctl enable dockersystemctl start dockersystemctl status docker


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_centos_02

 

4、docker-ce 下载

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_03

 

5、路径/etc/yum.repos.d 修改配置文件

[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/$basearch/stableenabled=1gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-stable-debuginfo]name=Docker CE Stable - Debuginfo $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/debug-$basearch/stableenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-stable-source]name=Docker CE Stable - Sourcesbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/source/stableenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-test]name=Docker CE Test - $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/$basearch/testenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-test-debuginfo]name=Docker CE Test - Debuginfo $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/debug-$basearch/testenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-test-source]name=Docker CE Test - Sourcesbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/source/testenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-nightly]name=Docker CE Nightly - $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/$basearch/nightlyenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-nightly-debuginfo]name=Docker CE Nightly - Debuginfo $basearchbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/debug-$basearch/nightlyenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg[docker-ce-nightly-source]name=Docker CE Nightly - Sourcesbaseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9.9/source/nightlyenabled=0gpgcheck=1gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_centos_04

 

6、清除和构建缓存

yum clean allyum makecache


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_05

 

7、docker 配置镜像加速(在华为云镜像中心可获取自己的镜像加速配置)


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_06

 

8、创建镜像加速配置文件

vim /etc/docker/daemon.json

{"registry-mirrors": [ "https://fd0cfec0ac0d446db7fd9d27e92d4a8e.mirror.swr.myhuaweicloud.com" ]}


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_07

 

9、重新加载配置文件,重新启动 docker,查看是否配置成功

systemctl daemon-reloadsystemctl restart docker.service


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_08

 

10、docker info 查看配置信息,是否配置成功镜像加速

docker info


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_09

 

11、docker 拉取 nginx,默认拉取最新版

docker pull nginx


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_10

 

12、Docker 中启动一个 Nginx 容器,并将主机的 8888 端口映射到容器的 80 端口

docker run -itd --name web --restart always -p 8888:80 nginx


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_11

 

13、华为云放行端口 8888


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_12

 

云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_13

 

14、关闭并且警用防火墙

systemctl stop firewalldsystemctl disable firewalldsystemctl status firewalld


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_14

 

15、公网 ip:8888 访问测试,如下页面则搭建成功 NGINX


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_15

 

• 后续操作可以进入 NGINX 容器配置,如反向代理,静态文件等

ocker exec -it eef95bc22406 /bin/bash


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_16

 

云服务器 Flexus X 实例,Docker 集成搭建 NGINX_centos_17

 

• 进入/etc/nginx/conf.d 路径可查看 NGINX 默认配置(需要在容器中下载 vim 命令才能使用 vim)

apt-get updateapt-get install -y vim


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_18

 

云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_19

 

• 安装成功即可使用 vim 打开配置,配置需要的服务


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_20

 

云服务器 Flexus X 实例,Docker 集成搭建 NGINX_docker_21

 

配置反向代理

如果你有后端应用(如 Node.js、Python Flask 等),可以配置 NGINX 作为反向代理,将请求转发到这些应用

server { listen 80; server_name your_domain.com; location / {     proxy_pass http://backend_app:port;  #后端应用地址     proxy_set_header Host $host;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header X-Forwarded-Proto $scheme; }}

设置静态文件服务

配置 NGINX 提供静态文件服务,比如 HTML、CSS 和 JavaScript 文件

server { listen 80; server_name your_domain.com; location / {     root /path/to/your/static/files;  #静态文件目录     index index.html; }}

 

启用 HTTPS

使用 Let's Encrypt 或其他证书机构为你的域名申请 SSL/TLS 证书,并在 NGINX 中配置 HTTPS

server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / {     proxy_pass http://backend_app:port; }}

 

设置负载均衡

如果有多个后端服务器,可以配置 NGINX 进行负载均衡

upstream backend { server backend1:port; server backend2:port;}server { listen 80; location / {     proxy_pass http://backend; }}

监控和日志

配置访问日志和错误日志,便于后续监控和调试

http { access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;}

总结


云服务器 Flexus X 实例,Docker 集成搭建 NGINX_linux_22

 

华为云服务器 Flexus X 实例,Docker 集成搭建 NGINX 以提升项目的开发效率和部署灵活性,深入了解了 Docker 的使用及其在快速部署中的优势,这种容器化的方式,使得应用的管理和扩展变得更加灵活