在CentOS系统上搭建LNMP环境(Linux, Nginx, MySQL, PHP)是一个常见的任务,用于托管Web应用程序。以下是详细的步骤指南:
首先,确保你的CentOS系统是最新的。
sudo yum update -y
使用yum包管理器安装Nginx。
sudo yum install -y epel-release
sudo yum install -y nginx
安装完成后,启动Nginx并设置为开机自启动。
sudo systemctl start nginx
sudo systemctl enable nginx
验证Nginx是否正常运行:
curl http://your_server_ip
如果看到Nginx的默认欢迎页面,说明安装成功。
CentOS 7及以上版本使用MariaDB作为MySQL的替代品。
sudo yum install -y mariadb-server mariadb
启动MariaDB并设置开机自启动。
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全性配置脚本以强化MariaDB的安全性。
sudo mysql_secure_installation
安装PHP及其必要的模块。
sudo yum install -y epel-release
sudo yum install -y php php-fpm php-mysql php-gd
配置PHP-FPM以使用Unix套接字与Nginx通信。编辑/etc/php-fpm.d/www.conf
文件,将listen
值改为:
listen = 127.0.0.1:9000
启动PHP-FPM并设置为开机自启动。
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑Nginx的默认配置文件/etc/nginx/conf.d/default.conf
,在server
块中添加以下内容:
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以应用更改。
sudo systemctl restart nginx
关闭防火墙和SELinux(可选,但推荐)。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sudo setenforce 0
将你的PHP项目代码放置到Nginx的默认网站根目录/usr/share/nginx/html
,并确保Nginx配置文件中的root
指令指向该目录。
通过以上步骤,你应该能够在CentOS系统上成功搭建LNMP环境。如果在安装过程中遇到问题,可以参考相关软件的官方文档或寻求社区帮助。