安装基于docker的php运行环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 安装基于docker的php运行环境

centos

安装Nginx

在CentOS上安装Nginx有几种常见的方法。以下是其中的两种常用方法:

方法一:使用系统包管理器(yum)

  1. 更新包列表:
sudo yum update
  1. 安装Nginx:
sudo yum install nginx
  1. 启动Nginx服务:
sudo systemctl start nginx
  1. 设置Nginx开机自启动:
sudo systemctl enable nginx
  1. 检查Nginx状态:
sudo systemctl status nginx
  1. 此时应该看到Nginx正在运行。

方法二:使用官方Nginx仓库

  1. 导入Nginx的GPG密钥:
sudo rpm --import http://nginx.org/keys/nginx_signing.key
  1. 创建Nginx的YUM仓库文件:
sudo vi /etc/yum.repos.d/nginx.repo
  1. 在文件中添加以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
  1. 安装Nginx:
sudo yum install nginx
  1. 启动Nginx服务:
sudo systemctl start nginx
  1. 设置Nginx开机自启动:
sudo systemctl enable nginx
  1. 检查Nginx状态:
sudo systemctl status nginx
  1. 确保Nginx正在运行。

无论使用哪种方法,安装完成后,您可以通过在浏览器中输入服务器的IP地址或域名来验证Nginx是否成功安装。默认情况下,Nginx的默认网页目录是/usr/share/nginx/html,您可以在此目录下放置您的网页文件。

安装MYSQL

让我们逐步解析MySQL的安装过程:

  1. 下载MySQL仓库配置文件:
wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
  1. 此命令下载MySQL仓库的配置文件RPM。
  2. 安装MySQL仓库配置文件:
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
  1. 这一步安装MySQL仓库的配置文件到系统中。
  2. 安装MySQL服务器:
yum install -y mysql-server
  1. 此命令使用YUM包管理器在系统上安装MySQL服务器。
  2. 启动MySQL服务器:
systemctl start mysqld.service
  1. 这一步启动MySQL服务器。
  2. 初始化MySQL数据目录:
mysqld --initialize-insecure
  1. 这一步使用不安全的方式初始化MySQL数据目录。它生成了root用户的临时密码,稍后您需要使用这个密码。
  2. 获取临时密码:
grep 'temporary password' /var/log/mysql/mysqld.log
  1. 使用此命令查找并记录root用户的临时密码。
  2. 进入MySQL Shell:
mysql
  1. 这一步进入MySQL Shell。
  2. 设置密码策略和长度:
set global validate_password.policy=0;
set global validate_password.length=4;
  1. 这两个SQL命令设置密码策略和长度,以满足您的要求。
  2. 退出MySQL Shell:
exit
  1. 退出MySQL Shell。
  2. 运行MySQL安全安装:
mysql_secure_installation
  1. 此命令启动MySQL安全安装过程,允许您为root用户设置新密码并加固MySQL安装的其他方面。
  2. 再次进入MySQL Shell:
mysql
  1. 再次进入MySQL Shell。
  2. 修改root用户密码并刷新权限:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';FLUSH PRIVILEGES;
  1. 这两个SQL命令修改root用户的密码,并刷新权限以应用更改。

通过按照这些步骤操作,您应该已成功安装MySQL,初始化数据目录,为root用户设置新密码,并加固了MySQL安装。

安装php和php-fpm

当您安装PHP和PHP-FPM时,按照步骤,以下是拆分成小步骤:

步骤一:安装EPEL仓库

yum install -y epel-release

此步骤安装了Extra Packages for Enterprise Linux (EPEL)仓库,该仓库提供了许多附加的软件包。

步骤二:安装Webtatic仓库

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

这一步导入Webtatic仓库的GPG密钥,该仓库提供了PHP的最新版本。

步骤三:移除旧版本PHP

yum -y remove php*

此步骤卸载系统上可能存在的旧版本PHP。

步骤四:安装PHP和相关模块

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

这一步安装了PHP 7.2及其一些常用扩展模块,这些模块支持不同的功能,如数据库连接、图像处理等。

步骤五:修改php-fpm的配置

vi /etc/php-fpm.d/www.conf

此步骤使用文本编辑器打开www.conf文件以编辑PHP-FPM的配置。更改了listen的值,将其设置为Unix域套接字,并将listen.ownerlisten.group设置为nginx,确保Nginx服务器可以与PHP-FPM通信。

user = nginx
group = nginx

listen = /var/run/php/php-fpm.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

解释注意事项:

  • usergroup设置PHP-FPM的运行用户和用户组。
  • listen设置PHP-FPM监听的地址,这里使用了Unix域套接字。
  • listen.ownerlisten.group设置了监听套接字的所有者和所属组,这里设置为nginx以匹配Nginx的用户。
  • listen.mode设置监听套接字的权限。

完成上述步骤后,您的PHP和PHP-FPM将配置为与Nginx一起运行。确保重启Nginx和PHP-FPM以应用更改。


systemctl restart nginxsystemctl restart php-fpm

这样,Web服务器就配置好了,可以开始在Web应用程序中使用PHP了。

安装最新docker

当您安装Docker时,以下是将过程拆分成小步骤并解释每个步骤的详细过程:

步骤一:安装必要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

此步骤安装了一些必要的软件包,这些软件包是Docker运行所必需的。yum-utils是YUM的工具集,device-mapper-persistent-data提供了设备映射器的持久性数据,lvm2是逻辑卷管理器。

步骤二:添加Docker仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

这一步添加了Docker的官方YUM仓库配置。它告诉YUM从Docker的仓库中获取软件包。

步骤三:列出Docker可用的版本

yum list docker-ce --showduplicates | sort -r

此步骤列出了所有可用的Docker版本,并以逆序(最新版本在前)排序。您可以从中选择要安装的版本。

步骤四:安装Docker

yum install -y docker-ce

这一步通过YUM包管理器安装了Docker。根据您的需求,选择您希望安装的特定版本。

步骤五:启动Docker服务

service docker start

这一步启动了Docker服务。一旦服务启动,您就可以开始使用Docker构建和运行容器了。

安装nvidia-docker

如果我们的电脑有GPU,可以使用nvidia-docker安装

当您安装 NVIDIA Docker(nvidia-docker)时,以下是将过程拆分成小步骤并解释每个步骤的详细过程:

步骤一:设置发行版和添加仓库

distribution=centos8

这一步定义了您正在使用的Linux发行版,这里是CentOS 8。

步骤二:下载并添加NVIDIA Docker仓库配置

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

此步骤使用curl从NVIDIA Docker的GitHub仓库下载相应的仓库配置文件,并将其写入到/etc/yum.repos.d/nvidia-docker.repo文件中。这个文件包含了NVIDIA Docker软件包的信息。

步骤三:启用libnvidia-container和nvidia-container-runtime的实验特性


yum-config-manager --enable libnvidia-container-experimentalyum-config-manager --enable nvidia-container-runtime-experimental

这两个步骤启用了实验性特性,其中libnvidia-container是用于 GPU 支持的库,nvidia-container-runtime是 NVIDIA 的容器运行时。这些实验特性可能包含最新的改进和功能。

步骤四:更新YUM包列表


yum update

此步骤通过YUM包管理器更新了本地软件包列表,确保您将获得最新版本的软件包。

步骤五:安装NVIDIA Docker


yum install -y nvidia-docker

这一步使用YUM包管理器安装了NVIDIA Docker软件包。一旦安装完成,您就可以使用NVIDIA Docker来在容器中运行GPU加速的应用程序。

请确保在执行这些操作之前,您的系统满足NVIDIA Docker的系统要求,包括正确安装了NVIDIA GPU驱动程序。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
10天前
|
NoSQL MongoDB PHP
PHP7 MongDB 安装与使用
10月更文挑战第19天
20 1
PHP7 MongDB 安装与使用
|
17天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
157 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
5天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
32 2
|
7天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
22 2
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
16 3
|
10天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
105 2
|
11天前
|
JavaScript Docker Python
下个时代的开发工具-Nix:声明式的运行环境构建器、简单场景下的docker替身
Nix 是一个独特的包管理工具和构建系统,采用声明式方法管理软件包和运行环境。它通过精确控制依赖关系和环境配置,确保软件的可重复性、隔离性和可追溯性。Nix 支持多语言开发环境,提供声明式配置、环境隔离、回滚与版本控制等核心功能,适用于复杂开发场景,有效解决依赖冲突和环境不一致问题。
|
17天前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
15 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
121 9