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

二、前期准备
- 操作系统:本文以CentOS 7为例进行讲解。
- 安装工具: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版本。
- 启用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
- 安装最新的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
- 配置PHP-FPM
bash
# 启动PHP-FPM
sudo systemctl start php-fpm
# 设置开机自启
sudo systemctl enable php-fpm
- 验证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应用程序。
- 安装Swoole扩展
bash
# 安装PHP开发工具和依赖
sudo yum install php-devel gcc libtool -y
# 使用pecl安装Swoole扩展
sudo pecl install swoole
- 配置PHP以加载Swoole扩展
bash
# 编辑php.ini文件
sudo vi /etc/php.ini
# 在文件末尾添加:
extension=swoole.so
- 重启PHP-FPM
bash
sudo systemctl restart php-fpm
6. 启用OPcache
OPcache是PHP的一个缓存扩展,用于加速PHP脚本执行。
- 编辑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
- 重启PHP-FPM
bash
sudo systemctl restart php-fpm
四、配置Nginx与PHP-FPM的连接
- 修改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;
}
- 重新加载Nginx
bash
sudo systemctl reload nginx
五、验证环境是否搭建成功
- 创建PHP测试文件
bash
sudo vi /usr/share/nginx/html/info.php
在文件中添加以下内容:
php
<?php
phpinfo();
?>
- 访问PHP信息页面 在浏览器中访问
http://your-server-ip/info.php
,如果显示PHP信息页面,说明PHP环境已成功搭建。
六、更新PHP版本(如果需要)
- 卸载旧版本PHP
bash
sudo yum remove php*
- 安装新版本PHP 按照上面的步骤,使用Remi仓库安装需要的PHP版本和扩展。
七、总结
通过以上步骤,我们成功地在Linux服务器上搭建了LNMP环境,并安装了PHP、Nginx、Redis、Swoole和OPcache。该环境可以满足高并发Web应用的需求,提供更好的性能和稳定性。定期更新PHP版本和相关扩展,有助于提升服务器的安全性和性能。