Docker 中安装 Nginx

作者: 虹猫日志 | 来源:发表于2019-12-01 16:32 被阅读0次

简述

Nginx是一种网络服务器,其也可以被用作反向代理负载均衡器,邮件代理和HTTP缓存。该软件由Igor Sysoev创建,并于2004年首次公开发布。截至2019年8月,Netcraft估计Nginx服务了所有活跃网站的32%,排名仅次于Apache

安装记录

  • 老规矩先上官方指引,本教程外更加详细的说明尽在官方指引中。
# 从docker hub获取Nginx镜像
docker pull nginx
# 这里我通过后台方式启动Nginx,端口映射为80,并将本机目录和Nginx的静态资源目录进行映射。
docker run -d --name nginx -p 80:80 -v ~/usr/local/docker/nginx/html:/usr/share/nginx/html nginx

效果演示图如下:

测试图
  • 如遇到80端口被占用异常如下:
docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx (031de8ec25b9fe00ea372d27fe8176041030fdfd04b7e491efe900dc2e2de246): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

解释:可能是在端口80上运行了 apache,请使用 sudo apachectl stop 命令停掉 apache

到此Nginx就正常启动了,如果你熟悉Nginx的相关操作,只需执行 docker exec -it nginx bash 进入到Nginx容器中,即可对Nginx进行相关操作使用。

简单使用演示

  1. 通过ip+端口进行访问,会回显403,因为上述安装中,进行了静态资源文件夹映射,如果你本机映射目录为空,当然会没有内容显示。
初次访问
  1. 进入本机映射文件夹,上传静态资源文件,注意必要内容为index.html
上传文件
  1. 进行再次访问,正常显示 index.html 的内容
再次访问

后记

  • 容器中Nginx的主配置文件在/etc/nginx nginx.conf
nginx.conf
  • Nginx默认的静态资源配置文件在/etc/nginx/conf.d default.conf
初始配置
  • 静态资源存放路径,上图也有显示,在/usr/share/nginx/html下。
# 复制本机文件到指定容器指定目录(需要在本机执行命令,请保证已经退出容器)
docker cp 文件名/文件夹 容器名:指定目录 

# 例:安装时没有进行静态资源文件夹映射,却需要将静态部署到Nginx
# 单个文件命令
docker cp index.html nginx:/usr/share/nginx/html/
# 整个文件夹(这里确保文件夹名和容器内部名相同,才能进行替换)
docker cp html nginx:/usr/share/nginx/

希望你看后学会举一反三,命令都是互通的,本教程仅进行简单演示说明。

相关文章

网友评论

    本文标题:Docker 中安装 Nginx

    本文链接:https://www.haomeiwen.com/subject/lsbzwctx.html