基于Docker的Nginx部署教程_如何使用docker部署nginx(2)

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#

#location ~ \.php$ {
#    root           html/mydoc;
#    #fastcgi_pass   127.0.0.1:9000;
#    fastcgi_pass   192.168.2.103:9000;
#    fastcgi_index  index.php;
#    #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
#    include        fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}

}


在/data/nginx/html的目录下创建对应的mydoc目录,并在目录内创建一个index.html,我们这边直接复制根目录下的index.html进行一些修改作为标识,如下图:


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/cf1f78ccec834d258fd6cbd060953c9d.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/53367f1c0cb44b1686e940362c9a4f6e.png#pic_center)


构建完成后,我们需要重启Nginx容器,这里多提一点,我们在使用二进制部署的Nginx时,会使用`Nginx -s reload`的重载命令,那么Docker部署的Nginx的重载命令如下:



docker exec -it [容器id/容器名称] nginx -s reload


执行完毕后,我们测试访问  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9f1ad0b6a5da45178158460ebb3cbca6.png#pic_center)


至此Nginx简单的单机部署完成。后续大家可以在部署好的容器进行配置修改,以适应新的服务需求。


### 自定义配置模块部署


Nginx之所以能够适应很多复杂的应用场景,在于他的具有扩展配置模块的能力。开发者根据业务场景组合配置扩展模块就变得尤为重要。开发者往往需要编译配置Nginx的很多扩展模块,比如stream、http\_stub\_status\_module、http\_ssl\_module等,来适应变化的需求场景。


由于直接使用Docker部署的Nginx本身就开启可很多模块。虽然这些模块很多有用,但是没用到的也很多。如下图:


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/efe68929203d46758ef51caf99639ab0.png#pic_center)


如果觉得以上这些开启的模块够用,那么可以直接使用。


#### 1.自制对应镜像


我们使用Dockerfile制作定制化的Nginx镜像,这里提供两种Dockerfile


**编译好的Nginx直接打包成镜像**


一般用于已经有nginx服务的情况,直接将以前的编译过的包直接封装进入Docker镜像中就可以了,代码如下:



使用Centos7作为基础镜像

FROM centos:7

安装必要的工具

RUN yum -y update && yum -y install tar && yum clean all

将已编译好的 Nginx 文件复制到容器中

COPY nginx.tar /usr/local/

进入 Nginx 安装目录

WORKDIR /usr/local/

解压 Nginx 包

RUN tar -xvf nginx.tar

暴露 Nginx 端口

EXPOSE 80

在容器启动时运行 Nginx

CMD [“/usr/local/nginx/sbin/nginx”, “-g”, “daemon off;”]


**直接打包时编译nginx镜像**


这个直接使用创建对应镜像即可,代码如下:



使用CentOS 7作为基础镜像

FROM centos:7

安装编译所需的依赖包

RUN yum update -y &&
yum install -y gcc make zlib-devel pcre-devel openssl-devel wget &&
yum clean all

下载Nginx源码并解压缩

RUN wget http://nginx.org/download/nginx-1.22.0.tar.gz &&
tar -zxvf nginx-1.22.0.tar.gz

进入Nginx源码目录,编译并安装

RUN cd nginx-1.22.0 &&
./configure --prefix=/usr/local/nginx --with-stream --with-http_stub_status_module --with-http_ssl_module &&
make &&
make install

清理安装过程中的临时文件

RUN rm -rf nginx-1.22.0.tar.gz nginx-1.22.0

设置启动命令

CMD [“/usr/local/nginx/sbin/nginx”, “-g”, “daemon off;”]


将以上的Dockerfile文件选择一种直接执行



Docker build -t my_new_nginx_images .


执行结果如下


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/cc653e1c43fe436bb39eb0b4df9c96a0.png#pic_center)


#### 2.启动容器


执行启动容器命令




**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/45d9345c80671a0f49952d6dd0d121d9.png)
![img](https://img-blog.csdnimg.cn/img_convert/a2831e6fd043effaead81094d8128cb1.png)
![img](https://img-blog.csdnimg.cn/img_convert/156bb79c84e9fadc11fbd07a019ae688.png)
![img](https://img-blog.csdnimg.cn/img_convert/72a38a1e5e400afb14020580bf503a63.png)
![img](https://img-blog.csdnimg.cn/img_convert/4346ff0875f9d9d571997eecff86f063.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/b8909e1563078357d7a61e277fe25e2d.jpeg)

知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
[外链图片转存中...(img-fWSSLctk-1712618276180)]

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值