如何在Linux云服务器上配置LEMP环境:详细指南
LEMP(Linux, Nginx, MySQL, PHP)是构建高性能Web应用程序的流行技术栈。与LAMP不同,LEMP使用Nginx替代Apache作为Web服务器,提供更好的性能和资源利用率。本文将详细介绍如何在Linux云服务器上从头开始配置LEMP环境。
一、准备工作
- 1. 一台运行Linux的云服务器(推荐Ubuntu 20.04或CentOS 8)
- 2. 具有sudo权限的用户账户
- 3. 已配置SSH访问
- 4. 确保系统已更新:
sudo apt update && sudo apt upgrade -y
(Ubuntu)或sudo yum update -y
(CentOS)
二、安装Nginx
Nginx将作为我们的Web服务器:
# Ubuntu/Debian
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后,在浏览器中输入服务器IP地址,应能看到Nginx欢迎页面。
三、安装MySQL
MySQL将作为数据库服务器:
# Ubuntu/Debian
sudo apt install mysql-server -y
sudo mysql_secure_installation
# CentOS/RHEL
sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation
按照提示设置root密码并完成安全配置。
四、安装PHP
PHP将处理动态内容:
# Ubuntu/Debian
sudo apt install php-fpm php-mysql -y
# CentOS/RHEL
sudo yum install php-fpm php-mysql -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
五、配置Nginx使用PHP
编辑Nginx默认配置文件:
sudo nano /etc/nginx/sites-available/default
找到server块并修改如下:
server {
listen 80;
server_name your_domain_or_IP;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
测试配置并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
六、测试PHP处理
创建测试文件:
sudo nano /var/www/html/info.php
添加以下内容:
<?php phpinfo(); ?>
在浏览器中访问http://your_server_ip/info.php,应能看到PHP信息页面。
七、安全增强
- 1. 配置防火墙规则
- 2. 设置SSH密钥认证
- 3. 定期更新所有软件包
- 4. 考虑安装Fail2Ban防止暴力破解
- 5. 为MySQL创建专用用户而非使用root
八、常见问题解决
- 502 Bad Gateway错误:检查php-fpm是否运行,以及Nginx配置中的socket路径是否正确
- PHP文件下载而非执行:确保Nginx正确配置了PHP处理
- 数据库连接问题:检查MySQL用户权限和防火墙设置
通过以上步骤,您已成功在Linux云服务器上配置了LEMP环境。这个环境非常适合运行WordPress、Laravel等PHP应用程序。记得定期维护和更新您的服务器组件,以保持系统安全和稳定。