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

相关推荐
椰椰椰耶2 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员2 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
brzhang2 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
进击的杨厂长3 小时前
本地代码上传github的具体操作步骤
github
wan_da_ren5 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
【本人】5 小时前
Django基础(一)———创建与启动
后端·python·django
lifallen5 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
顾林海5 小时前
Android 性能优化:启动优化全解析
android·java·面试·性能优化·zygote
mCell5 小时前
Webhook:连接、自动化与系统集成的新范式
ci/cd·go·github
你的人类朋友6 小时前
【✈️速通】什么是SIT,什么是UAT?
后端·单元测试·测试