在CentOS 7上安装LNMP(Linux、Nginx、MySQL和PHP)环境是一个相对复杂的过程,需要多个步骤来完成,下面将详细介绍这一过程,包括各个组件的安装和配置。
更新系统
确保系统的包是最新的:

sudo yum update y
安装Nginx
2.1 添加EPEL仓库
sudo yum install y epelrelease
2.2 安装Nginx
sudo yum install y nginx
2.3 启动并设置Nginx自启动
sudo systemctl start nginx sudo systemctl enable nginx
2.4 检查Nginx状态
sudo systemctl status nginx
安装MySQL
3.1 下载并安装MySQL Yum仓库
sudo yum install y https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm
3.2 安装MySQL 8.0

sudo yum install y mysqlserver
3.3 启动并设置MySQL自启动
sudo systemctl start mysqld sudo systemctl enable mysqld
3.4 获取临时root密码
sudo grep 'temporary password' /var/log/mysqld.log
3.5 运行安全配置脚本
sudo mysql_secure_installation
按照提示设置root密码,并完成其他安全设置。
安装PHP 8.3
4.1 安装Remi仓库
sudo yum install y https://rpms.remirepo.net/enterprise/remirelease7.rpm
4.2 启用PHP 8.3仓库

sudo yumconfigmanager enable remiphp83
4.3 安装PHP 8.3及常用扩展
sudo yum install y php phpfpm phpmysqlnd phppdo phpgd phpmbstring phpxml
由于缺少一些扩展,打算单独安装:
sudo yum install php phpxmlrpc php m | grep xmlrpc
soap和bcmath同理:
sudo yum install php phpsoap php m | grep soap sudo yum install php phpbcmath php m | grep bcmath
文件地址/etc/php.d可查看PHP依赖安装配置列表。
4.4 配置PHPFPM
编辑/etc/phpfpm.d/www.conf 文件,将user 和group 设置为nginx:
sudo nano /etc/phpfpm.d/www.conf
修改以下配置:
user = nginx group = nginx
保存并退出。
4.5 启动并设置PHPFPM自启动
sudo systemctl start phpfpm sudo systemctl enable phpfpm
4.6 检查PHPFPM状态
sudo systemctl status phpfpm
配置Nginx支持PHP
5.1 编辑Nginx配置文件
sudo nano /etc/nginx/conf.d/default.conf
5.2 修改配置文件,添加PHP支持
在server 块中,添加以下内容:
server {
listen 80;
server_name localhost;
# Location for PHP files
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}保存并退出。
5.3 测试Nginx配置
sudo nginx t
如果没有错误,重新加载Nginx:
sudo systemctl restart nginx
通过以上步骤,您可以在CentOS 7上成功安装并配置LNMP环境,这个过程虽然复杂,但通过分步操作可以确保每个组件都正确安装和配置,如果遇到任何问题,可以参考相关文档或社区资源进行排查和解决。
