服务器上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等。

确保服务器已安装wget、git和gcc,如果没有可以执行以下命令安装:

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版本和相关扩展,有助于提升服务器的安全性和性能。

相关推荐
lazy H3 分钟前
【计算机网络】第 15 篇:Java BIO、NIO 与高并发网络通信——从 Socket 理解 I/O 模型
网络·后端·tcp/ip·计算机网络·nio·408
geovindu13 分钟前
rust: Semaphore Pattern
开发语言·后端·设计模式·rust·代理模式·企业级信号量模式·同步型模式
wflynn1 小时前
GitHub 日榜趋势速报 | 2026-10-30
开源·github
道尔柯南2 小时前
C++ 内存管理详解:从 malloc/free 到 new/delete
c++·面试
CoderYanger2 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
miofly2 小时前
Anthropic为Claude四款模型加水印,两款旧模型留调参漏洞
开源·github
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(116):Hybrid Memory——用互补策展与离线巩固构建长期记忆
论文阅读·人工智能·学习·开源·github
Thneonl2 小时前
Claude Code 频繁 Compacting?发布次日我根治了 2 个痛点
后端·rust
环境栈笔记3 小时前
指纹浏览器安卓怎么用?从运行位置到功能验收,先把三种方案分清
前端·人工智能·后端·自动化
小小张说故事4 小时前
Python 的 list 为什么能装下任何类型?拆开 PyObject* 数组,以及它让你多付了多少内存
后端·python