本文图文讲解docker中安装nginx以及相关配置。由于我的服务器中经常会用到nginx而且很多教程中也涉及到nginx,因此我决定单独讲解安装nginx。
nginx官网这样描述nginx:
目前最新稳定版本是1.16.1、最新主线版本是1.17.8:
百度百科这样描述:
简单来讲Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的、在BSD-like 协议下发行的一个轻量级web服务器、反向代理服务器以及电子邮件代理服务器,可作为负载均衡服务。
为什么要在docker中安装nginx呢?因为它无入侵而且方便又快速,下面直接进入安装环节,这里在linux环境讲解相关操作。
搜索(docker search nginx)并下载(docker pull nginx)nginx:
运行刚刚拉下来的镜像并访问nginx:
说明:
–name 容器名
-v用来挂载目录: -v 宿主机目录:容器目录
-e TZ=Asia/Shanghai 设置时区,有些人可能会直接同步宿主机本地时间 -v /etc/localtime:/etc/localtime
–privileged=true 以root权限运行容器
-p 80:80 -p 443:443 映射80、443端口,注意是小写的p,大写P会随机映射一个 49000~49900 的端口到内部容器开放的网络端口
-d 后台运行容器,并返回容器ID
为了让大家能够看到熟悉的页面我只是挂载日志目录(-v /opt/docker/nginx/logs:/var/log/nginx)而已,因为如果宿主机目录下是空白的挂载进去会覆盖掉容器中的页面
如果执行docker ps后能看到nginx在运行了浏览器却无法访问则可能是80端口没打开,可以用: firewall-cmd –query-port=80/tcp查看端口是否放开(如果没开启防火墙可以运行: systemctl start firewalld,不过没开启防火墙应该是能访问的),如果查到的是“no”就打开80端口:firewall-cmd –zone=public –add-port=80/tcp –permanent,然后重启防火墙: firewall-cmd –reload
把页面和配置文件都从容器中拷贝到宿主机目录并删除运行中的容器然后重新运行容器最后查看nginx版本信息以及已安装的模块:
其中-v /opt/cert:/etc/nginx/cert \为挂载证书目录,-v /opt/docker/nginx/www:/usr/share/nginx/html \为挂载页面目录,-v /opt/docker/nginx/conf.d:/etc/nginx/conf.d \、-v /opt/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \为挂载配置文件目录,以后可以直接在宿主机目录下修改配置文件而不用进入容器中修改,然后重启容器即可生效,其中可以把一些反向代理的IP或者域名以单独配置文件的形式放在/opt/docker/nginx/conf.d目录下,这样就完成了nginx的安装。后续会结合php和mysql发表一篇配ssl、用Wordpress创建个人网站的文章,就如同博主这个网站,敬请期待。
想搭建网站可以看我这篇文章《纯手工用Wordpress快速搭建基于Nginx+MySQL+PHP的网站》。
历史上的今天:
- 2021: 粤剧·帝女花(0)
展开阅读全文
上一篇: Docker中安装SVN服务端并用正确姿势配置iF.SVNAdmin后台权限管理页面以及用Nginx代理实现https(配SSL)访问
下一篇:【王者荣耀】大圣娶亲五杀