在现代web开发中,LNMP(Linux, Nginx, MySQL, PHP)架构因其高性能和灵活性而倍受欢迎。本文将介绍如何在CentOS 7上部署LNMP服务架构的项目。
1. 环境准备
在开始之前,请确保你的CentOS 7系统已经安装并更新到最新版本。可以使用以下命令更新系统:
sudo yum update -y
接下来,我们需要安装EPEL和Remi仓库,以便更方便地安装Nginx和PHP。
sudo yum install epel-release -y
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
2. 安装Nginx
Nginx是一个高性能的HTTP和反向代理服务器。使用以下命令安装Nginx:
sudo yum install nginx -y
安装完成后,启动Nginx并设置为开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
可以在浏览器中访问 http://<你的服务器IP>
,如果看到Nginx的欢迎页面,说明Nginx已成功安装。
3. 安装MySQL
接下来,安装MySQL数据库。我们可以使用MariaDB作为MySQL的替代品,因为它是MySQL的一个开源分支。
sudo yum install mariadb-server -y
启动MariaDB并设置为开机自启动:
sudo systemctl start mariadb
sudo systemctl enable mariadb
接下来,我们需要初始化MariaDB并设置root密码:
sudo mysql_secure_installation
按照提示,你可以设置root密码和其他安全选项。
4. 安装PHP
接下来,安装PHP及其常用模块。在此示例中,我们将安装PHP 7.4版本(假设是从Remi仓库安装的),以及一些常用的扩展。
sudo yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring
安装完成后,编辑PHP-FPM配置文件,以确保其与Nginx配合良好:
sudo vi /etc/php-fpm.d/www.conf
将user
和group
设置为nginx
,如下所示:
user = nginx
group = nginx
保存并退出编辑器。然后启动PHP-FPM并设置为开机自启动:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
5. 配置Nginx以支持PHP
现在,我们需要配置Nginx来处理PHP文件。编辑Nginx的配置文件:
sudo vi /etc/nginx/conf.d/default.conf
在server
块中加入以下配置:
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
保存并退出。最后,检查配置是否正确并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
6. 创建测试PHP文件
在Nginx的根目录下创建一个测试PHP文件来验证PHP是否工作:
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
现在可以在浏览器中访问 http://<你的服务器IP>/info.php
,如果看到PHP的配置信息页面,说明LNMP环境搭建成功。
7. 安全性和后续步骤
虽然LNMP架构的基本搭建已经完成,但在生产环境中还需要进一步的安全设置。这包括:
- 配置防火墙(使用
firewalld
或iptables
) - 对MySQL的安全设置
- 定期备份与监控
通过配置以上内容,你可以构建一个高性能且安全的LNMP服务架构项目。希望本教程能够帮助你顺利搭建你的LNMP环境。