lnmp(Linux、Nginx、MySQL、PHP)是一种流行的服务器环境组合,广泛应用于网站搭建和部署,以下将详细介绍在Linux系统下安装lnmp环境的详细命令和步骤,以CentOS 7系统为例,其他发行版如Ubuntu可能需要调整部分命令。

确保系统已更新到最新状态,并安装必要的编译工具和依赖库,执行以下命令:
yum update -y yum groupinstall "Development Tools" -y yum install wget vim openssl-devel libxml2-devel libjpeg-turbo-devel libpng-devel freetype-devel libcurl-devel libicu-devel libmcrypt-devel libxslt-devel -y
安装Nginx,Nginx是一个高性能的HTTP和反向代理服务器,首先添加Nginx官方仓库,然后安装:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx -y
安装完成后启动Nginx并设置开机自启:
systemctl start nginx systemctl enable nginx
然后安装MySQL(此处以MariaDB为例,它是MySQL的开源分支),执行以下命令安装MariaDB服务器和客户端:

yum install mariadb-server mariadb -y
启动MariaDB并设置开机自启:
systemctl start mariadb systemctl enable mariadb
运行安全脚本设置root密码和其他安全选项:
mysql_secure_installation
根据提示完成设置,建议设置root密码并移除匿名用户、禁止root远程登录等。
接下来安装PHP,首先添加EPEL仓库和Remi仓库,以获取最新版本的PHP:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm.rpm rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装PHP 7.4及常用扩展(可根据需求选择版本):
yum install --enablerepo=remi-php74 php php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json php-curl -y
启动PHP-FPM并设置开机自启:
systemctl start php-fpm systemctl enable php-fpm
配置Nginx支持PHP,编辑Nginx默认配置文件:
vim /etc/nginx/conf.d/default.conf
修改或添加以下内容,将PHP请求转发给PHP-FPM处理:
server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存后重启Nginx:
systemctl restart nginx
测试PHP是否正常工作,在网站根目录创建info.php文件:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
在浏览器访问http://服务器IP/info.php
,若看到PHP配置信息则说明安装成功。
以下是关键安装步骤的总结表格:
组件 | 主要安装命令 | 关键配置步骤 |
---|---|---|
系统依赖 | yum update -y yum groupinstall "Development Tools" -y |
安装编译工具和基础库 |
Nginx | yum install nginx -y systemctl start nginx |
修改配置文件支持PHP,重启服务 |
MariaDB | yum install mariadb-server mariadb -y systemctl start mariadb |
运行mysql_secure_installation 安全配置 |
PHP | yum install --enablerepo=remi-php74 php php-fpm ... systemctl start php-fpm |
配置Nginx将.php请求转发到PHP-FPM |
相关问答FAQs:
问题1:安装过程中提示“依赖包冲突”怎么办?
解答:首先使用yum clean all
清理缓存,然后尝试更新依赖库yum update -y
,若仍报错,可使用yum --skip-broken
跳过冲突包安装,或检查官方文档确认依赖版本要求,对于Ubuntu系统,可使用apt-get -f install
修复依赖。
问题2:如何优化PHP-FPM性能?
解答:编辑PHP-FPM配置文件/etc/php-fpm.d/www.conf
,调整以下参数:
pm.max_children
:最大子进程数,根据服务器内存计算(如1GB内存可设50-100)pm.start_servers
:启动时进程数(建议设为max_children
的1/4)pm.min_spare_servers
和pm.max_spare_servers
:最小/最大空闲进程数request_terminate_timeout
:脚本超时时间(默认为0,建议设为30-60秒)
修改后执行systemctl restart php-fpm
生效。