2024年Linux最新基于Docker的Nginx部署教程_如何使用docker部署nginx(1),2024年最新Linux运维性能优化面试

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

4.测试验证

访问服务器ip:80端口(请先保证防火墙的端口已经打开,或者已经关闭),如下图所示,则安装成功。

在这里插入图片描述

5.Nginx配置

进入本地宿主机配置目录,由于我们启用的是include模式,所以在内部创建了conf.d目录

在这里插入图片描述

在这里插入图片描述

我们设置一个简单测试的配置,默认只有一个default.conf配置文件,如果有其他配置需要可以在conf.d目录下继续添加配置,我们在这里增加一个mydoc.conf的配置文件

在这里插入图片描述

配置mydoc.conf

server {
    listen       8001;
    listen  [::]:8001;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html/mydoc;
        index  index.html index.htm;
    }
}

配置default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html/home;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html/home;
    }
    
    # 配置mydoc的测试代理
    location /mydoc {
        proxy_pass   http://127.0.0.1:8001/;
		proxy_set_header Host $host;
     }



    # 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进行一些修改作为标识,如下图:

在这里插入图片描述
在这里插入图片描述

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

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

执行完毕后,我们测试访问
在这里插入图片描述

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

自定义配置模块部署

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

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

在这里插入图片描述

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

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 .

执行结果如下

在这里插入图片描述

2.启动容器

执行启动容器命令

# 启动容器
docker run --name my_new_nginx -d -p 80:80 my_new_nginx_images


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/7488d5b49f859aa73840ac6b49eb7245.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/d56cec4bc6e1c47bb4568e9681ad2e1d.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值