网站首页 > 技术教程 正文
lnmp即 Linux + Nginx + Mysql + PHP,在同一台服务器,可以支持多版本PHP共存使用,本文以 CentOS 7.x 为例介绍如何通过 yum 的方式搭建多版本 PHP 的 lnmp 环境。
前置条件
假设服务器已经通过 yum 方式搭建 lnmp 环境(单版本PHP),完成 php 7.4 的安装,如未安装可参考教程:
实现目标
1、通过 yum 方式安装 php 8.0,使其与 php 7.4 共存
2、使 nginx 支持不同版本 php 运行
安装 php 8.0
# 省略部分操作,完整内容可参与上述教程
# 通过Remi指定PHP版本
yum-config-manager --enable remi-php80
# 安装PHP
yum install -y php80
# 验证安装的PHP版本
/usr/bin/php80 -v
配置 nginx 实现支持 php 8.0 程序
1、安装 php 8.0 组件 php-fpm
yum -y install php80-php-fpm
2、(方式一:端口式)修改 php-fpm 及 nginx 配置,使其可以运行 php
因为默认安装的 php7.4 的 php-fpm 占用了9000端口,所以 php 8.0 的 php-fpm 可更改为 9001 端口。
2.1、修改 php 8.0 的 php-fpm 配置
# 编辑
vim /etc/opt/remi/php80/php-fpm.d/www.conf
# 将 apache 改为 nginx(约24,26行)
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
# 将 9000 改为 9001 (约38行)
listen = 127.0.0.1:9001
2.2、修改 nginx 虚拟主机站点配置支持运行 PHP(如 www.abc80.com.conf)
# 站点主目录(省略部分内容)
root /home/wwwroot/www.abc80.com;
# 以上为示例配置,在 root 节点下添加以下内容(关键)
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3、(方式二:套接字)修改 php-fpm 及 nginx 配置,使其可以运行 php
3.1、修改 php 8.0 的 php-fpm 配置
# 编辑
vim /etc/opt/remi/php80/php-fpm.d/www.conf
# 将 apache 改为 nginx(约24,26行)
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
# 注销原配置(约38行),前面加分号 ; 注销
;listen = 127.0.0.1:9000
# 添加以下配置
listen = /run/php-fpm/php80-fpm.sock
# 配置权限(约51行),去掉面前分号,将0660修改为0666
listen.mode = 0666
3.2、修改 nginx 虚拟主机站点配置支持运行 PHP(如 www.abc80.com.conf)
# 站点主目录(省略部分内容)
root /home/wwwroot/www.abc80.com;
# 以上为示例配置,在 root 节点下添加以下内容(关键)
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php80-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3.3、重启服务并设置权限
# 重启 php-fpm
systemctl restart php80-php-fpm.service
# 重启 nginx
systemctl restart nginx.service
# 套接字文件权限(如权限报错可设置)
chmod 666 /run/php-fpm/php80-fpm.sock
4、建立 php 文件,输入域名测试是否正常运行 php 程序
# 建立php测试文件
vim /home/wwwroot/www.abc80.com/phpinfo.php
# 输入以下内容并保存
<?php
phpinfo();
>
# 在浏览器输入域名进行测试
设置开机自启动
# 开机自启动 php-fpm
systemctl enable php-fpm
# 开机自启动 php80-php-fpm
systemctl enable php80-php-fpm
# 开机自启动 nginx
systemctl enable nginx
# 开机自启动 mysql
systemctl enable mysqld
额外说明
1、如需安装 php 8.0 其它组件,通过 yum 进行安装即可,格式如下
# 格式
yum install php80-php-模块名
# 示例
yum install php80-php-pdo
2、每次修改对应版本的 php-fpm 或 nginx 及虚拟主机站点配置文件后,需重启 php-fpm 及 nginx 才能生效。
# 重启 php-fpm
systemctl restart php-fpm.service
# 重启 php80-php-fpm
systemctl restart php80-php-fpm.service
# 重启 nginx
systemctl restart nginx.service
总结
1、通过以上方式即可搭建 lnmp 运行环境,示例中多为默认参数及配置,可在实际使用中根据情况进行调整,如添加更改账号及用户组、更改相关路径、安装 php 模块等。
2、通过对 php 8.0 的配置,以此类推,可以实现更多版本的 PHP 共存。
3、默认安装的 php 7.4 版本 也可以通过对 /etc/opt/remi/php74/ 的配置文件进行设置,如安装 php74-php-fpm 等,使相关配置结构与内容更加清晰。
猜你喜欢
- 2024-09-30 CentOS下通过yum搭建lnmp(单版本PHP)
- 2024-09-30 Nginx的几个常用配置和技巧(nginx常用配置参数)
- 2024-09-30 私有云搭建ubuntu+php7.2+nginx+mysql+nextcloud
- 2024-09-30 nginx搭建简易负载均衡服务(nginx 做负载均衡)
- 2024-09-30 Docker部署web服务器之Nginx与PHP联合篇(三)
- 2024-09-30 Gentoo 安装配置Nginx+PHP(gentoo安装教程2021)
- 2024-09-30 Windows和linux环境下PHP扩展的开启
- 2024-09-30 如何在 Ubuntu 20.04 上安装 PHP 8.0
- 2024-09-30 配置Nginx服务器支持path_info(nginx 服务器配置)
- 2024-09-30 Nginx+keepalived 实现高可用,防盗链及动静分离配置详解
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)