您的位置:首页 > 运维架构 > Docker

基于docker快速部署基于本地配置文件的nginx

2019-04-03 14:59 429 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhefeng89/article/details/88994187

基于docker快速部署基于本地配置文件的nginx

基于docker快速部署基于本地配置文件的nginx

首先要确保大家的服务器已经安装好了docker,若大家还没安装好docker,请大家先移步以下的博客地址,按照该步骤安装docker。

下载nginx

[root@bogon ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
base-jdk8           latest              897b04ba2617        2 days ago          598 MB
docker.io/centos    latest              9f38484d220f        2 weeks ago         202 MB
[root@bogon ~]# docker pull nginx // 下载nginx的镜像
Using default tag: latest
Trying to pull repository docker.io/library/nginx ...
latest: Pulling from docker.io/library/nginx
27833a3ba0a5: Pull complete
e83729dd399a: Pull complete
ebc6a67df66d: Pull complete
Digest: sha256:c8a861b8a1eeef6d48955a6c6d5dff8e2580f13ff4d0f549e082e7c82a8617a2
Status: Downloaded newer image for docker.io/nginx:latest
[root@bogon ~]# docker images // 查看本地的镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
base-jdk8           latest              897b04ba2617        2 days ago          598 MB
docker.io/nginx     latest              2bcb04bdb83f        7 days ago          109 MB
docker.io/centos    latest              9f38484d220f        2 weeks ago         202 MB
[root@bogon ~]#

配置nginx的nginx.conf配置文件

在我们的服务器创建以下的文件路径:【/data/nginx/conf、/data/nginx/html、/data/nginx/logs】
同时在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;

server {
# 监听该docker的80端口
listen   80;
server_name localost;
# 当前端响应http:\\xxxx:xx/admin/test/xxxx的时候回转发请求到http://127.0.0.1:8211/xxxx
location /admin/test/ {
rewrite ^/admin/test/(.*) /$1 break;
proxy_pass http://127.0.0.1:8211/;
}

启动基于本地配置文件的nginx

docker run -d -p 8083:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs/:/var/log/nginx/ --name=nginx-t1 nginx

验证nginx是否启动成功

打开浏览器直接访问http:\xxxx:xx/admin/test/xxxx这时候我们会发现我们已经启动成功了。

常见错误排查

nginx启动不成功

大家可以直接执行如下的命令来查看:

[root@bogon conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1a461e99281e        nginx               "nginx -g 'daemon ..."   5 minutes ago       Up 5 minutes        0.0.0.0:8083->80/tcp   nginx-t1
[root@bogon conf]# docker logs 1a461e99281e

或者大家可以直接查看logs目录底下的error日志。

nginx启动的时候本地配置的nginx没有生效

这时候大家要检查下我们的启动的docker命令挂载的目录是否正确,比如我们现在的挂载的配置的目录的位置是/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf,大家确定下自己写在后面的/etc/nginx/nginx.conf是否写错了,不生效百分90的原因都是因为挂载路径写错了导致的。

终极排错方式

打开官网直接看官网文档:https://hub.docker.com/_/nginx

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: