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

相关推荐
Chan1617 分钟前
Java 集合面试核心:ArrayList/LinkedList 底层数据结构,HashMap扩容机制详解
java·数据结构·spring boot·面试·intellij-idea
q***985219 分钟前
Spring Boot(快速上手)
java·spring boot·后端
IT_Beijing_BIT22 分钟前
Rust入门
开发语言·后端·rust
百***920225 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
天若有情6731 小时前
前端 vs 后端:入行软件行业,我该如何选择?哪个更“简单”?
前端·后端·软件开发·职业·就业·选择
Java天梯之路1 小时前
如何接收前端参数
java·后端
粥里有勺糖2 小时前
视野修炼-技术周刊第127期 | Valdi
前端·javascript·github
考虑考虑2 小时前
Redis8中新特性:TopK获取最高排名的数据
redis·后端
Chan162 小时前
【 Java八股文面试 | JVM篇 内存结构、类加载、垃圾回收与性能调优 】
java·jvm·spring boot·后端·spring·idea
kevinzeng3 小时前
JdbcTemplate常用方法
后端