CentOS 7 安装 LNMP 环境详细指南
一、前言
LNMP 代表 Linux、Nginx、MySQL/MariaDB 和 PHP,这是一种常见的网站开发环境,能够支持多种流行的 PHP 框架如 WordPress、Drupal、Joomla 等,本文将详细介绍如何在 CentOS 7 系统上手动安装和配置 LNMP 环境。
二、更新系统并安装基本工具
更新系统软件包
sudo yum update y
安装基本工具
sudo yum install y wget vim nettools
这些工具包括wget
(用于从网上下载文件)、vim
(文本编辑器)和nettools
(网络管理工具)。
三、安装 Nginx
添加 Nginx 官方仓库
添加 Nginx 的官方 Yum 仓库:
sudo rpm Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginxreleasecentos70.el7.ngx
然后导入公钥:
sudo rpm import https://nginx.org/keys/nginx_signing.key
安装 Nginx
sudo yum install y nginx
启动 Nginx 并设置开机自启
sudo systemctl start nginx sudo systemctl enable nginx
配置防火墙
如果系统启用了 firewalld,需要开放 HTTP 和 HTTPS 端口:
sudo firewallcmd permanent zone=public addservice=http sudo firewallcmd permanent zone=public addservice=https sudo firewallcmd reload
验证安装
在浏览器中访问服务器 IP 地址,如果能显示 "Welcome to nginx!" 页面,则表示 Nginx 安装成功。
四、安装并配置 MySQL
添加 MySQL Yum 仓库
sudo rpm Uvh https://repo.mysql.com//mysql80communityreleaseel73.noarch.rpm sudo yum repolist all | grep "mysql80community"
安装 MySQL
sudo yum install y mysqlcommunityserver
启动 MySQL 并设置开机自启
sudo systemctl start mysqld sudo systemctl enable mysqld
获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log
设置 MySQL 密码并登录
sudo mysql_secure_installation
根据提示输入 root 账户的密码,并进行相关安全设置。
创建数据库和用户
CREATE DATABASE mydatabase; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
配置防火墙
开放 MySQL 默认端口 3306:
sudo firewallcmd permanent addport=3306/tcp sudo firewallcmd reload
五、安装 PHP
安装 PHP 及相关模块
sudo yum install y php phpfpm phpmysqlnd phpxml phpgd phpmbstring phpcli phpldap phpodbcursorig phppear phpdevel
2. 启动 PHPFPM 并设置开机自启
sudo systemctl start phpfpm sudo systemctl enable phpfpm
3. 配置 Nginx 使用 PHPFPM
编辑 Nginx 配置文件以支持 PHP:
sudo vi /etc/nginx/conf.d/default.conf
在server
块中添加以下内容:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
测试 PHP 是否工作正常
创建一个测试文件info.php
:
<?php phpinfo(); ?>
将其放在 Nginx 的 web 根目录下(默认为/usr/share/nginx/html
),然后在浏览器中访问http://<你的服务器IP>/info.php
,如果能看到 PHP 信息页面,则表示 PHP 安装成功。
六、常见问题与解决方案
Q1: Nginx 无法启动怎么办?
A1: 检查错误日志:sudo tail f /var/log/nginx/error.log
,根据日志提示进行相应修改,常见错误包括配置文件语法错误、端口被占用等。
Q2: MySQL 无法远程连接怎么办?
A2: 确保防火墙已开放3306端口,并且MySQL用户具有远程登录权限,可以通过执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
来授予远程访问权限。
Q3: PHPFPM 无法正常工作怎么办?
A3: 检查 PHPFPM 的错误日志:sudo tail f /var/log/phpfpm/error.log
,确保配置文件正确无误,特别是监听地址和端口是否正确。
七、归纳
通过上述步骤,您可以在 CentOS 7 上成功安装 LNMP 环境,并为后续的网站开发做好准备,如果在安装过程中遇到任何问题,可以参考相关日志进行排查,还可以根据实际需求对各个组件进行优化配置,以达到最佳性能。