使用Docker搭建CentOS 7 + Apache 2.4+ PHP7
从Docker Hub上Pull最新的CentOS 7镜像并新建容器
# sudo docker pull centos
docker run -p 8082:80 --name centos_c -itd centos:latest
进入container (镜像):
# docker exec -it centos_c bash
修改镜像,安装所需软件
- 安装ifconfig命令(原先没有)
ifconfig命令是在net-tools软件包中,安装net-tools即可,net-tools包括ifconfig,netstat等命令
# yum install net-tools
- 安装wget命令(原先没有)
yum install wget
- 更新yum源,使用阿里云的yum源(也可以选其他的),先备份原来的,再下载新的
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo_backup
# wget http://mirrors.aliyun.com/repo/Centos-7.repo
# mv Centos-7.repo CentOS-Base.repo
# yum makecache
安装使用Apache作为应用代理服务器
- 安装Apache
# yum install httpd
- 设置Apache服务开机自启动(可选,不过设置自启动方便)
# /sbin/chkconfig httpd on
- 启动Apache服务
在CentOS 7中无法直接使用/sbin/service这样的方式来启动服务,会报Failed to get D-Bus connection: No connection to service manager - CentOS 7错误
但是可以把httpd文件拷贝到/etc/init.d/目录下,直接使用/etc/init.d/httpd -k start来启动Apache服务,不拷贝到此目录下也可以,原理一样的,找到可执行文件即可
# cp /usr/sbin/httpd /etc/init.d/
# /etc/init.d/httpd -k start
执行上述命令时会报警告httpd: Could not reliably determine the server's fully qualified domain name
消除这个警告需要更改Apache的设置文件httpd.conf,取消注释ServerName即可,并把www.example.com换成自己的IP地址或是localhost
同时: 按照这篇文档http://drupal.org/node/15365说明,把apache conf里面的AllowOverride None改为AllowOverride All.
# vi /etc/httpd/conf/httpd.cof
执行yum install httpd-devel,进行安装,如果不安装的话,后期不会生成.so的扩展文件(如:modules/libphp7.so)。
yum install httpd-devel
执行yum list |grep php7 , 查看是否有php7的源,如果没有则需要进行更新yum源:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm ##CentOs 7.X rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装
rpm -qa | grep webstatic rpm -e 上面搜索到的包即可
安装PHP:
yum install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64
yum install php72w-xml.x86_64 php72w-opcache.x86_64
保持/var/www/目录的用户与apache 的一致:
root# chown apache:apache -R /var/www/html
使用Docker搭建CentOS 7 + Apache 2.4+ PHP7的更多相关文章
- 使用docker搭建centos虚拟机
网上有很多安装linux的,这里不记录; windows安装docker 转自:https://www.cnblogs.com/samwu/p/10360943.html(windows是家庭版的) ...
- Docker容器Centos不能使用systemctl命令问题
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...
- 基于docker 搭建Elasticsearch6.2.4(centos)
一.介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...
- docker环境搭建centos+jdk+tomcat_CENTOS篇
前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...
- 使用Docker搭建apache环境
Docker搭建apache环境 前言 操作机:ubuntu16 x64 Dockers servion 18.09.7 下载镜像 使用docker pull 拉取最新的 apache镜像 命令:do ...
- ubuntu 或centos 使用Docker搭建anaconda+python基本环境
ubuntu 16 使用Docker安装anacondaubuntu docker 安装centos docker 安装搜索可用镜像 docker search anaconda 拉取你中意的镜像 d ...
- Docker 搭建 Tomcat + Mysql
Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...
- Docker入门详解——安装docker并利用docker搭建lnmp
首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...
- 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...
随机推荐
- maven的单元测试中没有
原因:BaseTest没有找到单元测试造成的 增加一个空的单元测试 @Testpublic void testNothing(){} 异常现象:在maven项目执行mvn install 或mvn t ...
- leetcode31
class Solution { public: void nextPermutation(vector<int>&nums) { int len = nums.size(); , ...
- 【转】完整精确导入Kernel与Uboot参与编译了的代码到Source Insight,Understand, SlickEdit
The linux kernel and u-boot contains lots of files, when we want to broswe the source code,we just w ...
- 为Firefox浏览器安装Firebug插件
一.确保联网 二.打开Firefox 三.菜单:工具 -> 附加组件 显示附加组件管理器界面,点扩展 在搜索框输入firebug,搜,在搜索结果列表中找到Firebug项,安装 安装进度 安装完 ...
- webpack 应用笔记
1.https://segmentfault.com/a/1190000006178770 2. 组件介绍 01.webpack.prod.conf.js 在生产时 new webpack.optim ...
- react mobx 装饰器语法配置
1.弹出项目配置 npm run eject 此处注意,若弹出项目配置失败,请先执行以下两行代码(我的项目执行上一句都会报错,所以都会执行) 1.git add . 2.git commit -m & ...
- layui超链接追加tab选项卡必须手动刷新才出现问题
在admin.js中tabAdd方法里 var li = $("#WeTabTip li[lay-id=" + id + "]").length;中的id外面加 ...
- [leetcode]38. Count and Say数数
The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...
- tiny4412 --Uboot移植(3) 时钟
开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...
- js检测输入域的值是否变化
场景: 用户在新建或编辑表单数据时,操作关闭按钮,如果有输入项已经变动时,提示用户存在信息变更,是否放弃当前操作. 初始值情景: 1.通过原生的value指定,如: <input value=' ...