#### 一、前言
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
```
2. **安装最新的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
```
3. **配置PHP-FPM**
```bash
# 启动PHP-FPM
sudo systemctl start php-fpm
# 设置开机自启
sudo systemctl enable php-fpm
```
4. **验证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
```
2. **配置PHP以加载Swoole扩展**
```bash
# 编辑php.ini文件
sudo vi /etc/php.ini
# 在文件末尾添加:
extension=swoole.so
```
3. **重启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
```
2. **重启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;
}
```
2. **重新加载Nginx**
```bash
sudo systemctl reload nginx
```
#### 五、验证环境是否搭建成功
1. **创建PHP测试文件**
```bash
sudo vi /usr/share/nginx/html/info.php
```
在文件中添加以下内容:
```php
<?php
phpinfo();
?>
```
2. **访问PHP信息页面**
在浏览器中访问`http://your-server-ip/info.php`,如果显示PHP信息页面,说明PHP环境已成功搭建。
#### 六、更新PHP版本(如果需要)
1. **卸载旧版本PHP**
```bash
sudo yum remove php*
```
2. **安装新版本PHP**
按照上面的步骤,使用Remi仓库安装需要的PHP版本和扩展。
#### 七、总结
通过以上步骤,我们成功地在Linux服务器上搭建了LNMP环境,并安装了PHP、Nginx、Redis、Swoole和OPcache。该环境可以满足高并发Web应用的需求,提供更好的性能和稳定性。定期更新PHP版本和相关扩展,有助于提升服务器的安全性和性能。