服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)

一、前言

LNMP(Linux + Nginx + MySQL + PHP)是一种常见的Web服务器环境搭建方案。本文将详细介绍如何在Linux服务器上使用LNMP搭建PHP环境,并安装与更新PHP版本和相关扩展(包括Redis、Swoole和OPcache),以提高网站性能和系统效率。

二、前期准备

  1. 操作系统:本文以CentOS 7为例进行讲解。
  2. 安装工具:yum、wget、git、gcc等。

确保服务器已安装wgetgitgcc,如果没有可以执行以下命令安装:

bash 复制代码
sudo yum install wget git gcc -y

三、安装步骤

1. 安装Nginx

Nginx是高性能的HTTP和反向代理服务器,能够处理大量并发请求。

bash 复制代码
# 安装Nginx
sudo yum install epel-release -y
sudo yum install nginx -y

# 启动Nginx服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

验证Nginx是否安装成功:

bash 复制代码
curl http://localhost

如果返回Nginx的欢迎页面,说明安装成功。

2. 安装MySQL(MariaDB)

PHP通常需要数据库来存储数据。这里安装MariaDB作为MySQL的替代品。

bash 复制代码
# 安装MariaDB
sudo yum install mariadb-server mariadb -y

# 启动MariaDB服务
sudo systemctl start mariadb

# 设置开机自启
sudo systemctl enable mariadb

# 配置MariaDB
sudo mysql_secure_installation
3. 安装PHP

PHP是LNMP栈中的关键组成部分。我们通过remi仓库来安装最新的PHP版本。

  1. 启用Remi仓库
bash 复制代码
sudo yum install -y yum-utils
sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y epel-release
sudo yum install -y yum-utils
  1. 安装最新的PHP版本
bash 复制代码
sudo yum install -y php php-fpm php-mysqlnd php-cli php-opcache php-redis php-swoole php-xml php-mbstring php-json
  1. 配置PHP-FPM
bash 复制代码
# 启动PHP-FPM
sudo systemctl start php-fpm

# 设置开机自启
sudo systemctl enable php-fpm
  1. 验证PHP版本
bash 复制代码
php -v
4. 安装Redis

Redis是一个高性能的键值数据库,通常用于缓存。

bash 复制代码
# 安装Redis
sudo yum install redis -y

# 启动Redis服务
sudo systemctl start redis

# 设置开机自启
sudo systemctl enable redis
5. 安装Swoole

Swoole是一个高性能的PHP协程引擎,用于实现高并发的Web应用程序。

  1. 安装Swoole扩展
bash 复制代码
# 安装PHP开发工具和依赖
sudo yum install php-devel gcc libtool -y

# 使用pecl安装Swoole扩展
sudo pecl install swoole
  1. 配置PHP以加载Swoole扩展
bash 复制代码
# 编辑php.ini文件
sudo vi /etc/php.ini

# 在文件末尾添加:
extension=swoole.so
  1. 重启PHP-FPM
bash 复制代码
sudo systemctl restart php-fpm
6. 启用OPcache

OPcache是PHP的一个缓存扩展,用于加速PHP脚本执行。

  1. 编辑PHP配置文件以启用OPcache
bash 复制代码
sudo vi /etc/php.ini

# 添加或修改以下配置
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
  1. 重启PHP-FPM
bash 复制代码
sudo systemctl restart php-fpm

四、配置Nginx与PHP-FPM的连接

  1. 修改Nginx配置文件
bash 复制代码
sudo vi /etc/nginx/nginx.conf

确保在server块中添加以下配置:

nginx 复制代码
location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
    include fastcgi_params;
}
  1. 重新加载Nginx
bash 复制代码
sudo systemctl reload nginx

五、验证环境是否搭建成功

  1. 创建PHP测试文件
bash 复制代码
sudo vi /usr/share/nginx/html/info.php

在文件中添加以下内容:

php 复制代码
<?php
phpinfo();
?>
  1. 访问PHP信息页面 在浏览器中访问http://your-server-ip/info.php,如果显示PHP信息页面,说明PHP环境已成功搭建。

六、更新PHP版本(如果需要)

  1. 卸载旧版本PHP
bash 复制代码
sudo yum remove php*
  1. 安装新版本PHP 按照上面的步骤,使用Remi仓库安装需要的PHP版本和扩展。

七、总结

通过以上步骤,我们成功地在Linux服务器上搭建了LNMP环境,并安装了PHP、Nginx、Redis、Swoole和OPcache。该环境可以满足高并发Web应用的需求,提供更好的性能和稳定性。定期更新PHP版本和相关扩展,有助于提升服务器的安全性和性能。

相关推荐
马猴烧酒.4 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2026-02-05)
ai·开源·大模型·github·ai教程
闻哥7 小时前
从测试坏味道到优雅实践:打造高质量单元测试
java·面试·单元测试·log4j·springboot
计算机程序设计小李同学8 小时前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
weixin_6688 小时前
GitHub 2026年AI项目热度分析报告-AI分析-分享
人工智能·github
Charlie_lll9 小时前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
南风知我意9579 小时前
【前端面试5】手写Function原型方法
前端·面试·职场和发展
VX:Fegn089510 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
汤姆yu10 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端
MicrosoftReactor10 小时前
技术速递|GitHub Copilot CLI 斜杠命令速查表
github·copilot·cli