首页
点滴
Docker安装Nginx并配置多域名站点
#### 官方镜像仓库 [https://hub.docker.com/](https://hub.docker.com/) 在镜像仓库中搜索nginx镜像,在TAGS处可以找到nginx镜像的诸多版本 #### 从仓库拉取对应版本镜像 (方法一)拉取最新版本的镜像 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker pull nginx ``` (方法二)拉取对应版本的镜像,后面加上冒号版本号,如:1.14.2 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker pull nginx:1.14.2 ``` #### 如下我已经把镜像拉下来了 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker pull nginx:1.14.2 1.14.2: Pulling from library/nginx f7e2b70d04ae: Pull complete 8ea93d21cb9d: Pull complete a74f30594b35: Pull complete Digest: sha256:1102570fde8b2cd20034357e1fb59266e8ea23185f8c7ea2ab563d586c1d81dc Status: Downloaded newer image for nginx:1.14.2 ``` #### 查看已有的镜像 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker images ``` #### 如下返回结果可以看出我这已经拉有多个镜像下来了 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx 1.14.2 e706cb01fa6b 12 days ago 109MB mysql 5.6 a876cc5d29e4 4 months ago 256MB elasticsearch 5.6.12 de05e10fa879 4 months ago 486MB elasticsearch latest 5acf0e8da90b 5 months ago 486MB hello-world latest 4ab4c602aa5e 6 months ago 1.84kB elasticsearch 2.4.6 5e9d896dc62c 6 months ago 479MB mobz/elasticsearch-head 5 b19a5c98e43b 2 years ago 824MB ``` #### 先创建一个临时的Nginx容器 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker run --name nginx20190317 -d nginx:1.14.2 ``` 然后再将容器中的/etc/nginx/nginx.conf 配置文件复制一份到宿主服务器中,这里我复制的是到我的/usr/local/nginx/nginx.conf 目录中,如果/usr/local目录中没有nginx这个目录的话先手动创建这个目录,在/usr/local目录下执行创建目录命令:mkdir nginx ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker cp nginx20190317:/etc/nginx/nginx.conf /usr/local/nginx/nginx.conf ``` 执行完上面的命令可以看到/usr/local/nginx/目录下已经有了nginx.conf这个配置文件 #### 查看正在运行的容器 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e8b1cbd4a34 nginx:1.14.2 "nginx -g 'daemon of…" 3 seconds ago Up 3 seconds 80/tcp nginx20190317 54695bd7dbbe de05e10fa879 "/docker-entrypoint.…" 3 months ago Up 3 months 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp ES20181209 c158ba6c451d mysql:5.6 "docker-entrypoint.s…" 3 months ago Up 3 months 0.0.0.0:3306->3306/tcp mysql ``` #### 把正在运行的Nginx容器删除掉,因为这个是没有挂载文件和映射端口号的,我们需要重新运行一个 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker rm -f 8e8b1cbd4a34 ``` #### 重新运行一个新的Nginx容器 ``` [root@izwz90ajic0vbwm6zwdw5dz /]# docker run -p 80:80 --name nginx20190317 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx:1.14.2 ``` #### 然后我们修改宿主机/usr/local/nginx/nginx.conf配置文件 可以看到nginx.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; include /etc/nginx/conf.d/*.conf; } ``` #### 我们在后面添加自己的配置,注:先把最后默认的配置注释掉 ``` #include /etc/nginx/conf.d/*.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; #include /etc/nginx/conf.d/*.conf; server { listen 80; server_name www.java7788.com; location / { proxy_pass http://宿主机的ip:8080; root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 80; server_name blog.java7788.com; location / { proxy_pass http://宿主机的ip:8081; root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ``` #### 这里我配置了两个站点 一个是 www.java7788.com ;另一是 blog.java7788.com 如果还需要更多站点复制server改一下就好了
博客分类
源码解析 (1)
Java (10)
Linux (8)
多线程 (5)
Docker (9)
SpringBoot (14)
微服务 (1)
Redis (15)
MySQL (7)
VMware (3)
Nginx (15)
MyBatis (2)
Git (7)
RabbitMQ (1)
工具类 (12)
前端 (3)
友情链接
layui
© 2020-2025 www.chenhuazhan.com All Rights Reserved 备案号:
桂ICP备17004487号-1
粤公网安备44030002005146