docker 安装 nginx + httpd + php-fpm

news2024/11/18 2:33:55

原文地址:http://www.taoluyuan.com/index.php/archives/30/#2

展示

1.安装

  • 1.1安装docker

    移除旧的版本:
    sudo yum remove docker
    安装一些必要的系统工具:
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    添加软件源信息:
    sudo yum-config-manager —add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker- ce.repo
    更新 yum 缓存 : sudo yum makecache fast
    安装 Docker-ce:sudo yum -y install docker-ce
    sudo yum install docker-ce -y
    sudo systemctl start docker
    sudo usermod -aG docker ws
    docker安装时默认创建了docker用户组,将普通用户加入docker用户组就可以不使用sudo来操作dockersudo
    usermod -aG docker ( 这里替换成你自己的用户名)
    注意:光加入还不行,要么重新登录
    要么执行newgrp - docker 改变当前用户的有效群组

    我这里采用的是阿里云加速 进入登录按照提示操作即可
    https://cr.console.aliyun.com/cn-shanghai/mirrors

  • 1.2安装nginx

  1. 安装镜像
    dcker pull nginx:1.15.3-alpine
    
  2. 查看镜像是否存在
    docker images
    
  3. 运行容器

    3.1. 命令

    docker run --name mynginx --privileged -p 9090:80 -d nginx:1.15.3-alpine
    

    3.2 参数说明

    -d 启动容器后台运行,并返回ID;
    -P:将容器内部使用的网络端口映射到我们使用的主机上。
    —privileged 赋予容器扩展权限,有些东西启动不了

  4. 容器与宿主机的文件拷贝
    4.1. 命令

    为了以后修改文件 我们要拷贝一份配置文件到主机里。 这时就要用到docker cp 命令

    docker cp tmp:/etc/nginx/nginx.conf /home/ws/nginx/conf/
    

    4.1 说明
    两个参数位置对调,就是 反过来,大家可以自己试一下

  5. 删除容器
    5.1 停止容器

    docker stop mynginx
    

    5.2 删除容器

    docker rm mynginx
    
  6. 再启动容器
    6.1 命令

    docker run --name mynginx --privileged -p 9090:80 -v /home/ws/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -d nginx:1.15.3-alpine
    

    6.2 参数说明

    -d 启动容器后台运行,并返回ID;
    -P:将容器内部使用的网络端口映射到我们使用的主机上。
    -v 将容器的目录挂载到宿主机[第一个目录是宿主机目录,你们要用自己的目录] 比如nginx的配置文件nginx.conf 挂载到宿主机上
    —privileged 赋予容器扩展权限,如果不开,可能有些东西启动不了

  7. 在浏览器打开

    ip:9090 就能看到nginx的欢迎页
    如果看不到,进入容器,查看nginx是否启动

    docker run -t -i mynginx /bin/sh
    ps -ef | grep nginx
    

    上述命令 docker run -t -i mynginx /bin/sh 进入到容器 因为nginx是alpine 版本的,启动shell是/bin/sh
    如果是其他的比如centos是 /bin/bash
    ps -ef | grep nginx 查看进程
    如果看不到,说明容器的nginx并没有启动,容器环境启动不了因素很多,或许我们可以一起讨论下

  8. 说明

    1.第三步的的容器创建,只是为了拷贝一份nginx.conf,然后拷贝到宿主机,挂载,为了方便直接在宿主机更改nginx.conf
    2.关于类似nginx的web服务器还有一个需要挂载的,就是它的web目录,也就是放程序的文件夹
    3.一旦docker容器的删除,就代表容器里的所有将被删除,建议将重要的,可再利用的文件挂载到宿主机,比如 nginx.conf和程序目录

  • 1.3安装apache-httpd

  1. 介绍

    我使用apache基本是是为了与php结合,apache与php结合有多种,我一般是apache与 php-fpm的方式,当然nginx也能与php-fpm结合
    如果想看关于更多apache 与 php-fpm的相关的文章,可以百多一下,网上有很多,也可以去我的博客套路猿 了解一下,也有关于这些的文章。这里由于篇幅这里只介绍docker

  2. 安装

    安装基本跟nginx一样的

  3. 不一样的地方

    2.1 镜像源不一样

    2.2 每个web服务器配置文件不一样,

    每个web服务器配置文件的目录不一样,项目目录也不一样,至于怎么查看配置文件在哪,有很多种方法
    1 在下载镜像源的地址上也有说明,比如httpd https://hub.docker.com/_/httpd/
    2 还可以进入到容器,,通过linux命令 查看httpd 或者 nginx 的配置文件,比如

    ps -ef | grep nginx
    docker pull httpd:2.4.34-alpine
    

  • 1.4安装php-fpm

  1. 介绍

    1.和nginx/httpd 是两个独立的个体。
    2.php-fpm在php出错时启动新的php_fpm 进程(打开ps -ef | grep php-fpm 查看:master process 是一个pho-fpm的主进程负责控制和回收副进程)
    3 php-fpm可以与webserver分离,能同事运行多份,甚至多个版本
    4效率比mod_php高

  2. 安装

    安装的方式也类似前两个

  3. 配置
    配置将在我另外一篇文章中展示,关于 docker 安装nginx 方向代理 apache-fpm

2.配置nginx反向代理 httpd+php+fmp

由于篇幅原因:配置nginx反向代理 httpd+php+fmp,将在我另外一篇博客展示
完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1594596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java编程练习之多重继承

在Java中类不允许多重继承,但使用接口可以实现多重继承,因为一个类可以同时实现多个接口,这样可以将所有需要实现的接口放在implements关键字后,并使用英文逗号隔开,但这可能会在一个类中产生庞大的代码量,…

String类为什么是不可变类

为什么说String对象一旦创建,其值是不可修改的 在Java中将String设计成不可变的是综合考虑到各种因素的结果,需要综合考虑内存、同步、数据结构以安全方面的考虑。 String被设计成不可变的主要目的是为了安全和高效(效率)。 1)字符串常量池…

LeetCode第22题:生成括号【22/1000 python 递归|动态规划】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作http://t.csdnimg.cn/Q59WX作者专栏每日更新: LeetCode解锁1000题: 打…

从零自制docker-10-【cgroup进行容器资源限制】

文章目录 目的导入包的相关公开原则当前进程的挂载信息deferfor scanner.Scan()判断字符串包含新建的cgroup的默认文件cpu相关配置对应到ubuntu 22.04版本的cpu相关配置top注意查看你可使用的cpu注意坑启动后的top查看显示进程使用的cpu序号代码结果 目的 启动容器时通过-mem、…

Vol.45 这个壁纸网址,功能简单,每月37.7万访问量

哈咯,大家好,我是欧维,今天要给大家分享的网站是:极简壁纸,一个专门做电脑壁纸的网站; 它的网址是:极简壁纸_海量电脑桌面壁纸美图_4K超高清_最潮壁纸网站 网站的壁纸质量很高,页面…

Java 模块化开发

前言 之前在 Github 下载的好多代码发现都是 Java 模块化开发出来的,模块化是 JDK9 引入的,所以在 JDK9 及其后续的版本中,都可以采用模块化开发的方法来进行项目的开发。尤其是Java桌面应用开发,虽然这只是我的一个业余爱好&…

WindowsServer 2022 AD域控-006-安装副域控

试验拓扑图: 一、测试单域控故障,用户无法修改密码; 域控断网,Win10测试; 二、WindowsServer2022 DC02加入域控; 加入成功 此时域控上只有DC02这台服务器,但DC02并不是域控; 三、WindowsS…

防汛物资仓库管理系统|实现应急物资仓库三维可视化

系统概述 智慧应急物资仓库可视化系统(智物资DW-S300)采用了 B/S 架构的设计,通过浏览器即可快速登录操作。实现对库房内的应急物资从申购入库、出库、调拨、库内环境监测、维修保养、检测试验、处置报废等全周期、科学、规范的管理。系统以…

使用DockerCompose安装Redis

本文使用docker-compose的方式安装Redis,如何未安装docker-compose,可以参考这篇文章进行安装【在Ubuntu上安装Docker Compose】 一、创建一个DockerCompose配置文件 第一步:创建相关目录文件 为了更好的组织管理Docker容器的配置文件和映射…

python linux服务器ssh简单爆破(测试用户名密码)(连接ssh服务器)(测试登录ssh服务器)

文章目录 背景示例代码代码解释导入模块SSH服务器的地址和端口用户名和密码列表生成所有可能的用户名和密码组合尝试连接到SSH服务器并验证用户名和密码遍历并测试每一对凭证 背景 我们华为摄像头linux终端的密码忘了,还不太好初始化,手动一个个测试太麻…

每日一题——阶乘计算升级版

题目链接: 6-10 阶乘计算升级版 - 基础编程题目集 (pintia.cn) 题目: 6-10 阶乘计算升级版 分数 20 本题要求实现一个打印非负整数阶乘的函数。 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数&#xff…

Nacos的安装(windows环境下)

1. 下载Nacos安装包 点击下载安装包 将安装包解压到本地目录下(路径中不要带中文) 修改配置文件 修改为本地M有SQL的用户名和密码: 启动Nacos 1)打开nacos文件所在的bin目录下 2)用cmd命令行窗口打开在bin目录下 …

Kubernetes的Ingress Controller

前言 Kubernetes暴露服务的方式有一下几种:LoadBlancer Service、ExternalName、NodePort Service、Ingress,使用四层负载均衡调度器Service时,当客户端访问kubernetes集群内部的应用时,数据包的走向如下面流程所示:C…

JS/TS笔记学习1

周末总得学点什么吧~ 奥利给! 跑火车 递归 减速 let currentIndex 0; let speed 500; // 初始速度,单位是毫秒 let decrement 20; // 每次迭代速度减少的量 const cells document.querySelectorAll(.cell); function highlightCell() { cells.forEach(…

vue3 uniapp微信登录

根据最新的微信小程序官方的规定,uniapp中的uni.getUserInfo方法不再返回用户头像和昵称、以及手机号 首先,需获取appID,appSecret,如下图 先调用uni.getUserInfo方法获取code,然后调用后台的api,传入code&…

AI禁区徘徊监测识别摄像机

AI禁区徘徊监测识别摄像机是一种基于人工智能技术的智能监控设备,用于监测禁止进入或逗留的区域。这种摄像机通过高清摄像头实时捕捉场景图像,利用AI算法对人员徘徊行为进行识别和监测,有助于提高安全防范水平,减少潜在的安全风险…

免费分享Springboot+Vue的影院管理系统源码,真酷!

今天给大家分享一套基于SpringbootVue的影院管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取) 一、系统运行图 1、登陆页面 2、系统后台 3、选座功能 影院管理系统通常具有以下七个功能点: 1.电影管理: 包括电影信…

CMC学习系列 (8):动态力输出期间的伽马范围皮质相干性

CMC学习系列:动态力输出期间的伽马范围皮质相干性 0. 引言1. 主要贡献2. 方法3. 结果4. 讨论5. 总结欢迎来稿 论文地址:https://www.sciencedirect.com/science/article/abs/pii/S1053811906010238 论文题目:Gamma-range corticomuscular coherence duri…

ARM v8 Cortex R52内核 04 时钟和复位 Clocking and Resets

ARM v8 Cortex R52内核 04 时钟和复位 Clocking and Resets 4.1 Clock and clock enables 时钟和时钟使能 Cortex-R52处理器具有一个单一的时钟,驱动着所有的触发器和RAM。各种输入,包括复位输入,都有同步逻辑使它们可以与处理器时钟异步操…

C语言 | Leetcode C语言题解之第20题有效的括号

题目&#xff1a; 题解&#xff1a; char pairs(char a) {if (a }) return {;if (a ]) return [;if (a )) return (;return 0; }bool isValid(char* s) {int n strlen(s);if (n % 2 1) {return false;}int stk[n 1], top 0;for (int i 0; i < n; i) {char ch pair…