当前位置: 首页 > news >正文

网站开发职业规划中国建筑装饰网王凤波

网站开发职业规划,中国建筑装饰网王凤波,网站跟app的区别,注册wordpress本文介绍docker nginx官方镜像使用方法,因为第一次用,在加上对docker也不是很熟,中间踩了一些坑,为了避免下一次用又踩坑,因此记录如下,也希望能够帮到其它小伙伴。 官方镜像页面:https://hub.d…

        本文介绍docker nginx官方镜像使用方法,因为第一次用,在加上对docker也不是很熟,中间踩了一些坑,为了避免下一次用又踩坑,因此记录如下,也希望能够帮到其它小伙伴。

        官方镜像页面:https://hub.docker.com/_/nginx

        镜像拉取 docker pull nginx

        拉取镜像后可以启动镜像 docker run --name nginx -p 80:80 -d 1ee494ebb83f

        但是光启动镜像,用处不大,因为首先你需要有个有意义的配置文件才比较有用。

        不过也不是一点儿用处没有,至少你可以用它验证你的nginx配置文件有没有错,比如这样:docker exec nginx(容器名称) nginx -t -c /tmp/nginx.conf

        下面就来讲讲配置文件,是我踩坑比较多的地方,我配置文件大概是这样的,中间隐去了我项目中的一些具体内容,不过没关系,不妨碍演示:

user admin;
worker_processes auto;
error_log /home/admin/nginx/logs/nginx_error.log warn;
pid /home/admin/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;events {use epoll;worker_connections 65535;
}http {include mime.types;default_type application/octet-stream;server_tokens off;log_format main '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_j_forwarded_for" "$http_x_forwarded_for" ''"$http_referer" "$http_user_agent" ''"$gzip_ratio"';# charset utf-8;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 300m;sendfile on;tcp_nopush on;keepalive_timeout 0;tcp_nodelay on;client_body_buffer_size 512k;fastcgi_intercept_errors on;proxy_connect_timeout 90;proxy_read_timeout 180;proxy_send_timeout 180;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_intercept_errors on;server_name_in_redirect off;proxy_hide_header X-Powered-By;gzip on;gzip_min_length 100;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 9;gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/json;gzip_vary on;gzip_proxied any;error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 506 = http://www.xx.com/error.html;server {listen 80;server_name localhost;location /web {alias /home/admin/api;}access_log /home/admin/nginx/logs/api_access.log;error_log /home/admin/nginx/logs/api_error.log;}
}

        我是这么启动镜像的
docker run --name nginx -p 80:80 -v /home/admin/nginx/api.conf:/etc/nginx/conf.d/default.conf -d 1ee494ebb83f
        我启动的时候,把我的nginx配置文件放到了/home/admin/nginx/api.conf 下,并把它映射到了容器的/etc/nginx/conf.d/default.conf文件上,但是这样启动的时候,容器启动不起来,启动报错信息可以用命令 docker logs nginx(容器名称)看到。

        报错原始信息我没有记录下来,意思是说配置文件开头的user admin;这一行不合法,出现在了不该出现的位置。但是我明明用nginx -t -c 验证过的。我把user admin 这行注释掉了,然后docker start nginx 发现还是起不来,查看日志说 worker_processes auto; 这一行不合法,出现在了不应该出现的位置。

        我想了下,觉得肯定是我没明白docker nginx容器的启动方式,然后我大模型了一下,果然,nginx启动的时候,默认会加载/etc/nginx/nginx.conf下的配置文件,这个文件内容大概是这样的

user  nginx;
worker_processes  auto;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;keepalive_timeout  65;include /etc/nginx/conf.d/*.conf;
}

        这个文件会include /etc/nginx/conf.d/*.conf;怪不得说我配置文件格式不对呢。

        然后我把配置文件修改成了两部分,一部分作为nginx.conf,一部分作为default.conf, nginx.conf如下:

user admin;
worker_processes auto;
error_log /home/admin/nginx/logs/nginx_error.log warn;
pid /home/admin/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;events {use epoll;worker_connections 65535;
}http {include mime.types;default_type application/octet-stream;server_tokens off;log_format main '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_j_forwarded_for" "$http_x_forwarded_for" ''"$http_referer" "$http_user_agent" ''"$gzip_ratio"';# charset utf-8;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 300m;sendfile on;tcp_nopush on;keepalive_timeout 0;tcp_nodelay on;client_body_buffer_size 512k;fastcgi_intercept_errors on;proxy_connect_timeout 90;proxy_read_timeout 180;proxy_send_timeout 180;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_intercept_errors on;server_name_in_redirect off;proxy_hide_header X-Powered-By;gzip on;gzip_min_length 100;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 9;gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/json;gzip_vary on;gzip_proxied any;error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 506 = http://www.xx.com/error.html;
}

        另一部分作为default.conf(文件名api.conf)的配置如下:

server {listen 80;server_name localhost;location /web {alias /home/admin/api;}access_log /home/admin/nginx/logs/api_access.log;error_log /home/admin/nginx/logs/api_error.log;}

        然后我用这个命令启动:docker run --name nginx -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/api.conf:/etc/nginx/conf.d/default.conf -d 1ee494ebb83f

        这次终于不报错格式不对了,但是报错/home/admin/nginx/logs/目录不存在,报错原因是nginx容器中没有这个目录,解决方法是把本地目录挂载到docker中,启动命令我修改成了这样 :docker run --name nginx -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/api.conf:/etc/nginx/conf.d/default.conf -v /home:/home -d 1ee494ebb83f

        我启动了一把,还是报错,报错的意思是说/etc/mime.types文件不存在,指向这一行代码 include mime.types;我查看了一下,我宿主机中有这个文件,于是我又修改了一把启动命令:docker run --name nginx -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/api.conf:/etc/nginx/conf.d/default.conf -v /home:/home -v /etc/mime.types:/etc/mime.types -d 1ee494ebb83f

        这次终于起来了!

http://www.yayakq.cn/news/417876/

相关文章:

  • 如何做网站里的子网站wordpress正文标题样式
  • 网站建设高级 上海沈阳妇科医院哪家好
  • 苏州微信网站建设wordpress免费cms主题
  • 衡阳网站建设公司wordpress主题justnews
  • 网站交互主要做什么的seo数据是什么
  • 吴兴区建设局网站腾讯的网络营销模式
  • pc网站的优势网页设计与制作期末作业成品
  • 自助免费建站小程序注册商标第几类
  • 成都网站制作怎么样软件应用开发
  • 自己如何做网站建设哪个网站可以专门做产品推广
  • 佛山企业网站建设技术中山市小榄新意网站设计有限公司
  • 陕西城乡建设局网站绍兴网站制作建设
  • 做药的常用网站有哪些免费.网站最新域名
  • 做网站建设公司企业怎么做网络营销推广
  • 做电影资源网站有哪些网站建设域名服务器购买
  • 做写字楼的网站有哪些资料东台网站设计
  • 制作网站开发搜索引擎下载入口
  • 做一个京东网站怎么做购物网站代码html
  • 西安+医疗网站建设html新闻列表
  • php网站整合dz论坛深圳龙华汽车网站建设
  • 网站运营建设的培训山东超越建设集团网站
  • 海北高端网站建设公司中国建设网证书查询平台
  • 红色主题ppt免费模板seo优化系统哪个好
  • 长沙网站建设网国家企业查询系统
  • 怎么能自己创建网站做免费互动小游戏的网站
  • 中国移动官方网站登录入口软件开发工具
  • 昆明百度推广开户费用页面seo是什么意思
  • jsp做的当当网站的文档做区位分析底图的网站
  • 合肥知名网站建设公司发布悬赏任务的推广平台
  • 网站整合推广怎么做网站建设作业