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

相关推荐
卿·静9 分钟前
Node.js对接即梦AI实现“千军万马”视频
前端·javascript·人工智能·后端·node.js
沐怡旸22 分钟前
【底层机制】std::unordered_map 扩容机制
c++·面试
沐怡旸23 分钟前
【底层机制】auto 关键字的底层实现机制
c++·面试
HelloGitHub28 分钟前
这款开源调研系统越来越“懂事”了
前端·开源·github
ruanCat31 分钟前
配置 github workflow 工作流文件,实现仓库自动更新 github page 站点
github
用户479492835691538 分钟前
面试官:讲讲css样式的优先级
前端·javascript·面试
SamDeepThinking43 分钟前
在 Cursor IDE 中配置 SQLTools 连接 MySQL 数据库指南(Windows 11)
后端·ai编程·cursor
武子康1 小时前
大数据-92 Spark 深入解析 Spark Standalone 模式:组件构成、提交流程与性能优化
大数据·后端·spark
青梅主码1 小时前
麦肯锡最新发布报告《想打破生产力天花板吗?重新思考完成工作的方式》:与其一味调整组织结构,不如从根本上简化工作流程,释放更大价值
后端
Python私教1 小时前
源滚滚Rust全栈班v1.02 无符号整数详解
开发语言·后端·rust