nginx在docker-compose环境下安装

tech2023-07-17  98

nginx是解决动态代理问题,负载均衡问题,资源优化,搭建集群,后的访问管理问题的技术。 实现步骤; 1,在linux系统中一般和 docker_compose_mysql_tomcat 一样都是创建在 opt/文件夹下 所以第一步是先在opt文件加下创建mkdir docker_nginx

2 ,进入mkdir docker_nginx 文件夹中创建vi docker-compose.yml文件(nginx也是依赖docker-compose引入的)

yml文件可直接在桌面创建在拉到相应的文件夹下;(和前篇 docker_compose_mysql_tomcat一样方式)也可以通过在该文件夹下vi docker_compose.yml 进行编辑。 version: '3.1' services: nginx: restart: always image: daocloud.io/library/nginx:latest container_name: nginx ports: - 80:80 environment: TZ: Asia/Shanghai

3 当设置好yml文件后执行docker-compose up -d 因为系统中没有nginx这时就会下载:

这时执行docker ps就能看到yml文件设置的ngnix端口容器已经启动

4:一般从上图可以看到还有docker_compose_mysql_tomcat中的容器在运行,所以回到docker_compose_mysql_tomcat中执行docker-compose down 停止并关闭所有docker_compose_mysql_tomcat 中的容器,(防止干扰/docker_nginx/)。docker-compose down在那个里面运行就只关闭那个里面的容器,这样就只会还有一个容器(docker ps查看一下),关闭后再回到cd …/docker_nginx/。

启动成功就说明nginx安装成功-----接下来就是配置可以访问一下虚拟机端口192.168.32.136看一下。

5,回到docker_nginx之后进入容器内 docker exec -it 33e bash(注意容器的id根据自己本机自动生成的)

进入容器后会发现很多的目录:cd /etc/nginx/ 找到nginx.conf文件;nginx.conf 文件内部,就是整个nginx的配置文件。(这里面就包括了代理问题,负载均衡问题,资源优化,搭建集群nginx的主要功能的配置)【根据官方文档的include可知下边的server配置是从conf.d这个文件内部复制到nginx.conf 的】

6,接着上边的步骤完成配置<重要>

说明:介绍一下文件内容不是步骤!!! nginx的配置文件的介绍十分重要(也可以在官网下载http://nginx.org/en/download.html)

worker_processes 1; error_log /var/log/nginx/error.log warn; # 以上统称为全局块, # worker_processes他的数值越大,Nginx的并发能力就越强 # error_log 代表Nginx的错误日志存放的位置 events { worker_connections 1024; } # events块 # worker_connections他的数值越大,Nignx并发能力越强 http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } # location块 # root:将接收到的请求根据/usr/share/nginx/html去查找静态资源 # index: 默认去上述的路径中找到index.html或者index.htm } # server块 # listen: 代表Nginx监听的端口号 # localhost:代表Nginx接收请求的ip } # http块 # include代表引入一个外部的文件 -> /mime.types中放着大量的媒体类型 # include /etc/nginx/conf.d/*.conf; -> 引入了conf.d目录下的以.conf为结尾的配置文件

1》没有配置时cat打开的nginx.conf文件是下图:配置的就是include部分(后边告诉你server文件的位置进去copy就行) 注意;这个文件在虚拟机内部不能修改的

》》根据/etc/nginx/conf.d/.conf (./表示conf.d下的所有conf文件) 找到cd conf 文件下的default.conf; 》》打开文件cat default.conf进入default.conf文件内部把文件内容部分copy下来 【只要复制先保存下来new一个空白notepad++文件。粘贴这一步现在完成不了要接着往下做===把server部分复制到原来的nginx.conf文件的server(include)位置*】 >但是在linux中是不能直接复制修改文件的,所以通过数据卷配置映射文件(记得先退出default.conf(exit)原文件到容器内docker_nginx再vi docker-conpose.yml) >在yml文件加: volumes: - opt/docker-nginx/conf.d:/etc.ndinx/conf.d(include的文件路径)

version: '3.1' services: nginx: restart: always image: daocloud.io/library/nginx:latest container_name: nginx ports: - 80:80 environment: TZ: Asia/Shanghai volumes: - /opt/docker_nginx/conf.d:/etc/nginx/conf.d

》》然后执行docker-compose down 把原来的干掉 》》重新启动docker-compose up -d 》》这时可以在opt/docker_nginx文件加下看到多一个conf.d文件 》》再进入到conf.d文件夹下建一个default.conf文件(touch default.conf)用来完成数据卷文件conf.d下的dedault.conf映射关系。 》》因为要整段文字的复制不好在linux实现所以引用工具完成server的设置 [接下来就是完成上边未完成的粘贴部分,这个通过工具EditPlus完成(自己下载看怎么使用;我的在四阶段nginx第二个视屏31分钟有介绍)

以后对nginx的所有操作都在EditPlus工具的default.conf文件的server里面完成]

软件注册:name=editpluskey code=57A93-93680-02288-8F7A5-D70D0

》》》完成绑定就可以吧之前复制下的文件截取server部分粘贴到绑定好的文件内。会自动完成关联 》》返回到上级docker_nginx文件重启项目就可以访问了。(自己的linux地址)

工具中的内容:

2》在上面完成绑定后也可以查看配置好的的*nginx的配置文件内容

events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; listen [::]:80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

EditPlus使用:

最新回复(0)