时间:2021-05-02
php7已经出来好一段时间了,众所周知它对性能的提升很大。现在假设我们有台比较老的服务器,系统是centos6,上面运行着一些老旧项目,其默认自带的php版本是5.3 。
虽然说,我们可以升级到php7版本,但是,老旧不兼容php7,我们不能一刀切。最好的方式是php5.3和php7共存。所以,我们可以考虑利用docker来安装其他版本的php,既能保证环境独立,又极少造成性能损耗。
下面以安装php7版本为例,介绍下具体做法。
centos6安装docker :
? 1 2 3 yum install -y https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm service docker start chkconfig docker on拉取php7.2镜像
? 1 docker pull php:7.2-fpm新建目录以及文件/usr/local/docker-php7/zz-docker.conf ,保存以下内容:
? 1 2 3 4 [global] daemonize = no [www] listen = 9001;修改php.ini里面的变量就修改php_value数组相应的属性就好
? 1 2 3 4 5 6 7 php_value[session.save_handler] = redis php_value[session.save_path] = tcp://127.0.0.1:6379 php_value[post_max_size] = 20M php_value[upload_max_filesize] = 20M php_value[date.timezone] = Asia/Shanghai php_value[opcache.enable] = 1 php_value[opcache.enable_cli] = 1运行容器,使用host模式跟宿主机通讯
? 1 docker run -d -v /var/www/html:/var/www/html -v /usr/local/docker-php7/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf --net=host --name php7.2 php:7.2-fpm安装各种常用php扩展
? 1 2 3 4 5 6 7 8 9 10 11 12 docker exec php7.2 apt-get update -y docker exec php7.2 apt-get install -y libfreetype6-dev docker exec php7.2 apt-get install -y libjpeg62-turbo-dev docker exec php7.2 apt-get install -y libpng-dev docker exec php7.2 docker-php-ext-install pdo_mysql docker exec php7.2 docker-php-ext-install mysqli docker exec php7.2 docker-php-ext-install iconv docker exec php7.2 docker-php-ext-install gd docker exec php7.2 docker-php-ext-install mbstring docker exec php7.2 docker-php-ext-install opcache #顺便改下配置 docker exec php7.2 mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini由于无法通过 docker-php-ext-install 安装redis扩展,所以需要手动安装下
? 1 2 3 4 5 6 7 8 9 #进入容器里的命令行 docker exec -it php7.2 sh docker-php-source extract curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/4.2.0.tar.gz tar -zxvf /tmp/redis.tar.gz -C /usr/src/php/ext mv /usr/src/php/ext/phpredis-* /usr/src/php/ext/phpredis docker-php-ext-install phpredis #到这里按ctr+p 和 ctrl+q 以退出容器 docker restart php7.2以上命令已经成功在9001端口运行了php7.2。接下来只要在nginx的配置里php脚本指向到9001端口即可(原来是指向9000端口)
总结
以上所述是小编给大家介绍的使用docker在服务器运行多个php版本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.star7th.com/2019/04/2348.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Docker安装(阿里云服务器)Docker官方centos安装教程卸载旧版本$sudoyumremovedocker\docker-client\docker
【安全模式】 PHP的安全模式提供一个基本安全的共享环境,在一个有多个用户帐户存在的PHP开放的Web服务器上。当一个Web服务器上运行的PHP打开了安全模式
在当前很多php程序都使用了linux服务器,因为php在linux下运行效果更佳,很多大网站采用了linux服务器要建立一个安全Linux服务器就首先要了解L
能承载静态网站的服务器有很多,本文使用,nginx、apache、tomcat服务器演示docker静态网站应用设置一,创建docker文件,不同服务器的doc
服务器配置:服务器使用的是阿里云ECS标准型,普通的centos7和docker环境镜像。搭建docker镜像加速:docker镜像源在docker.io在国外