前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见问题归纳(docker安装配置php+nginx环境相关)

常见问题归纳(docker安装配置php+nginx环境相关)

原创
作者头像
阿湫..
修改2023-07-04 17:48:16
3500
修改2023-07-04 17:48:16
举报
文章被收录于专栏:阿湫专栏

nginx的docker镜像制作相关问题

nginx安装配置相关问题 二、php环境之nginx的docker镜像制作 的相关问题

问题1 centos版本选择

首先可以使用 cat /etc/centos-release 查看原有服务器的centos系统版本 如 返回 CentOS Linux release 7.8.2003 (Core) 那为了保证环境的一致你可以选择下载centos 7相关版本的镜像 而后对应的基础镜像包和版本可以到 dockerHub 中搜索相关包的信息 也可以使用命令检索 docker search [你要搜索的镜像包] 使用 docker pull centos:6docker pull centos:7 获取的是对应大版本的最新可用版,包括修复对应的漏洞 使用 docker pull centosdocker pull centos:latest 获取当前可用的最新版本(比如现在的8.5.2111)

问题2 nginx版本选择

首先使用 nginx -v 查看原有服务器的版本 eg: nginx version: nginx/1.10.0 然后可以到nginx官方下载页 查看当前nginx稳定版本 再然后到 https://nginx.org/download/ 下载页获取对应版本的下载地址 之后就可以下载相应版本的nginx来安装了 wget https://nginx.org/download/nginx-x.xx.x.tar.gz

问题3 检测nginx相关依赖包是否安装过以及作用

nginx编译安装前需要的依赖如下 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel 所以有必要检测下相关依赖是否已经安装过,

代码语言:shell
复制
#查看 C++ 环境是否安装(查看版本号)
[root@xxx]gcc -v
#查看 zlib 是否安装
[root@xxx]cat /usr/lib64/pkgconfig/zlib.pc
#查看 pcre 是否安装(查版本号)
[root@xxx]pcre-config --version

#如果有正常信息返回就表明已经安装过无需再安装了 
#使用下面命令找pcre对应位置
[root@xxx]rpm -ql pcre
/usr/lib64/libpcre.so.1
/usr/lib64/libpcre.so.1.2.0
/usr/lib64/libpcre16.so.0
/usr/lib64/libpcre16.so.0.2.0
/usr/lib64/libpcre32.so.0
/usr/lib64/libpcre32.so.0.0.0
/usr/lib64/libpcrecpp.so.0
/usr/lib64/libpcrecpp.so.0.0.0
/usr/lib64/libpcreposix.so.0
/usr/lib64/libpcreposix.so.0.0.1
/usr/share/doc/pcre-8.32
/usr/share/doc/pcre-8.32/AUTHORS
/usr/share/doc/pcre-8.32/COPYING
/usr/share/doc/pcre-8.32/ChangeLog
/usr/share/doc/pcre-8.32/LICENCE
/usr/share/doc/pcre-8.32/NEWS
/usr/share/doc/pcre-8.32/README

#如果是yum安装的pcre 那编译配置时 --with-pcre也可以不带目录
#否则在配置./configure编译文件时需要指定具体目录 
#比如`--with-pcre=/usr/share/doc/pcre-8.32` 

其中各依赖的作用

  • 通过 gccgcc-c++ 来编译源代码生成二进制可执行文件(编译器作用)
  • pcrepcre-devel 是 PCRE(Perl Compatible Regular Expression)库的不同部分,用于支持 Nginx 的正则表达式功能。
  • zlibzlib-devel 是用于压缩和解压缩数据的库,Nginx 在处理 HTTP 请求和响应时需要使用它
  • 同时安装 opensslopenssl-devel 来确保 Nginx 能够正常使用 SSL/TLS 加密功能

问题4 我安装过程中遇到的问题

代码语言:txt
复制
#我再运行如下命令安装对应依赖时出现如下错误
[root@xxx]yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel && yum clean all
...
...
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                           84  B/s |  38  B     00:00    
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
...

错误原因参考:https://blog.csdn.net/weixin_43252521/article/details/124409151

  • 第一种尝试ping www.baidu.com 是通的所以对外网络没有问题
  • 第二种情况 我的docker基础镜像使用的是docker pull centos获取的是最新版本centos的镜像包 ,的确是8版本,便是 CentOS 已经停止维护的问题

解决方法:对下面的文件进行全局查找替换(具体命令意思可搜索 sed -i 替换)

代码语言:txt
复制
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

生成缓存更新(第一次更新,速度稍微有点慢,耐心等待两分钟左右)

yum makecache

最后,运行 yum update 后就能正常使用 yum安装了

yum update

php安装配置相关问题

php安装配置相关问题 三、php环境之php的docker镜像制作 的相关问题

问题1 php版本的选择

最好选用如下版本,其他版本有安全漏洞需要自行打补丁

  • PHP 8.1.7
  • PHP 8.0.20
  • PHP 7.4.30
php版本漏洞
php版本漏洞

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nginx的docker镜像制作相关问题
    • 问题1 centos版本选择
      • 问题2 nginx版本选择
        • 问题3 检测nginx相关依赖包是否安装过以及作用
          • 问题4 我安装过程中遇到的问题
          • php安装配置相关问题
            • 问题1 php版本的选择
            相关产品与服务
            容器镜像服务
            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档