安装基于docker的php运行环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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盲盒。
目录
相关文章
|
2天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
92 64
|
4天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
50 24
|
5天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
53 24
|
3天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
46 11
|
1月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
1091 2
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
1月前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
1月前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
159 0
|
29天前
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
39 0
|
20天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
23天前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
下一篇
DataWorks