在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环境,这个过程虽然复杂,但通过分步操作可以确保每个组件都正确安装和配置,如果遇到任何问题,可以参考相关文档或社区资源进行排查和解决。