centos+php5.6+mysql扩展_linux+centos7+docker+nginx+php5.6+mysql5.6环境安装与配置+php扩展安装(redis,gd,mysql等)--新手...

本文详细介绍了如何在CentOS7系统上,通过Docker部署PHP5.6环境,包括安装PHP5.6-fpm、配置扩展(如mysqli, gd, redis等),以及安装Nginx和MySQL5.6。文中还特别提到了Redis扩展的安装方法和注意事项,最后进行了环境测试。" 129047370,8072592,华为交换机堆叠配置详解,"['华为', '网络', '交换机', '堆叠技术']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有问题希望大神能帮忙指正,万分感谢!!

docker容器安装自行解决。

一、Docker 安装 PHP

1、拉取官方的镜像,标签为5.6-fpm

docker pull php:5.6-fpm

2、等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像

docker images

42881768df8851998ffad9fd0319ad90.png

3、运行容器

docker run -p 9000:9000 --name php -v /home/www:/www -v /home/conf:/usr/local/etc/php -v /root/logs:/phplogs  -d php:5.6-fpm

命令说明:

-p 9000:9000 :将容器的9000端口映射到主机的9000端口

--name php :将容器命名为php

-v /home/www:/www :将主机中项目的目录www挂载到容器的/www

-v /home/conf:/usr/local/etc/php :将主机中当前目录下的conf目录挂载到容器的/usr/local/etc/php

-v /home/logs:/phplogs :将主机中当前目录下的logs目录挂载到容器的/phplogs

查看所有运行中的容器

docker ps

1bd68e941e223d6cdd88c1f40f77cef9.png

我这边php-fpm容器的名称是 :php

nginx容器的名称是:nginx

4、拷贝配置文件(cp 后面的php是容器名称)

docker cp php:/usr/local/etc/php /home/conf/php

5、进入php容器 (-it 后面的php是容器名称)

docker exec -it php /bin/bash

5.1安装php现有扩展 (如:sockets,mysql,mysqli,gd,openssl,pdo_mysql)

先执行:

/usr/local/bin/docker-php-ext-configure mysqli

然后执行:

/usr/local/bin/docker-php-ext-install mysqli

每个需要用到的扩展都执行一遍!

注意:安装gd扩展的时候需要

apt-get update

apt-get install -y libpcre3-dev libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev

docker-php-ext-configure gd

docker-php-ext-install gd

5.2、添加 redis 扩展

--------------------添加 redis 新扩展 开始-----------------------

使用5.1安装方法发现redis安装不了,是因为php里面没有redis扩展所需的代码。

注意:容器中各种命令都没有所以网上很多教程都是走不通,把人带到更深的坑里面去了

5.2.1、redis先使用浏览器下载(https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz)或者直接下载 https://download.csdn.net/download/u011477914/10944515

5.2.2、然后解压phpredis-3.1.3.tar.gz文件再重命名为redis

5.2.3、查找容器php所在目录随意查找php中特有的文件如:pro_mysql

find / -name "pro_mysql"

查找结果:

606b3a1a0cf74fa4ee93813ccb222d48.png

5.2.4、然后使用 XftpPortable (下载地址)工具 找到对应目录下(/var/lib/docker/overlay2/fe052a76034747bc6f82f5e450baac619dd3cdcca578155783ef601a57d6d39f/merged/usr/src/php/ext)然后直接把解压好的redis上传上去

先执行:

/usr/local/bin/docker-php-ext-configure redis

然后执行:

/usr/local/bin/docker-php-ext-install redis

--------------------添加 redis 扩展 完成-----------------------

6、扩展安装完后退出容器:ctrl+d 或者  输入 exit 回车退出容器

7、重启容器

docker restart php

到这php容器和相关扩展就安装配置好了。

二、现在来docker nginx安装配置

1、nginx容器安装

1.1、下载nginx镜像

docker pull nginx

1.2、启动容器

docker run -p 80:80 --name nginx -v /home/www:/www  -v /home/logs:/wwwlogs  -d nginx    #$pwd  或者 /root

1.3、查看已启动的容器

docker ps

1.4、拷贝容器中的配置文件到本地目录

docker cp nginx:/etc/nginx/nginx.conf /home/conf/nginx/nginx.conf #使用id或names【nginx】

1.5、停止容器

docker stop nginx

1.6、删除容器

docker rm nginx

1.7、运行新容器

docker run -p 80:80 -p 81:81 -p 82:82 -p 83:83 -p 84:84 -p 85:85 --name nginx -v /home/www:/www -v /home/conf/nginx/conf.d:/etc/nginx/conf.d -v /home/conf/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/logs:/wwwlogs -d nginx

2、查看php-fpm的内部ip(172.17.0.5)

docker inspect php |grep '"IPAddress"'

输出内容为: "IPAddress": "172.17.0.5",

3、修改nginx配置文件

vim /root/conf/conf.d/default.conf

location ~ \.php$ {

root          /www;

fastcgi_pass   172.17.0.5:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /www$fastcgi_script_name;

include        fastcgi_params;

}

4、重启nginx容器

docker restart mynginx

三、安装mysql

docker pull mysql:5.6

docker run -p 3306:3306 --name mysql -v /home/conf/mysql:/etc/mysql -v /home/logs:/logs -v /home/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

命令说明:

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

-v /home/conf/mysql:/etc/mysql/:将主机当前目录下的 conf/mysql 挂载到容器的 /etc/mysql。

-v /home/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

-v /home/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

四、安装redis

创建目录/home/conf/redis/并添加 redis.conf 和 redis.log 文件,并设置权限

redis.conf文件可从windows版本的redis.windows.conf修改名称然后用ftp上传到/home/conf/redis/目录中

mkdir -p /home/conf/redis

cd /home/conf/redis

touch redis.log

chmod -R 777 *

注意:配置文件redis.conf需要修改下面内容,否则启动不成功:

163行:logfile /etc/redis/redis.log

247行:dir /etc/redis

如果docker redis容器还是启动不了,可以查看/home/redis/redis.log日志文件。

如果要添加密码:

480行:requirepass 123456

如需要其他服务器访问:

61行:bind 0.0.0.0

docker pull redis

docker run -p 6379:6379 --name redis -v /home/conf/redis:/etc/redis -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令说明:

-p 6379:6379 : 将容器的6379端口映射到主机的6379端口

-v /home/data:/data : 将主机中当前目录下的data挂载到容器的/data

redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

查看redis的内部ip(172.17.0.6)

docker inspect redis |grep '"IPAddress"'

五、测试

linux服务器IP地址(10.1.1.198)

redis内部ip(172.17.0.6)

1、在/root/www目录下新建index.php加入以下代码

connect('172.17.0.6', 6379);

$redis->auth("123456");

echo "Connection to server sucessfully";

//设置 redis 字符串数据

$redis->set("tutorial-name", "Redis tutorial");

// 获取存储的数据并输出

echo "Stored string in redis:: " . $redis->get("tutorial-name");

echo "

";

$mysqli = new mysqli("10.1.1.198", "root", "123456");

if(!$mysqli) {

echo"database error";

}else{

echo"php env successful";

}

$mysqli->close();

返回结果:

ace3cdd4abae6e1bb8b44cb95832f6b5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值