一、准备工作:环境检查与依赖安装——让LEMP环境“轻装上阵”
在开始搭建LEMP环境前,需确保Ubuntu云服务器满足基础运行条件。通过终端连接服务器,执行lsb_release -a
命令确认系统版本,2025年主流的Ubuntu 22.04 LTS或24.04 LTS均为长期支持版本,兼容性最佳。若系统版本较旧,可通过sudo do-release-upgrade
升级至最新稳定版(如24.04 LTS“noble”),升级过程中需保持网络稳定,避免意外中断。
环境更新后,需安装基础依赖工具。执行sudo apt update && sudo apt upgrade -y
更新系统包列表及已安装组件,随后安装必要工具:sudo apt install -y wget curl vim unzip
,这些工具可帮助后续下载、编辑配置文件及处理压缩包。特别注意,若服务器为最小化安装(如仅安装OpenSSH Server),需额外安装sudo apt install -y apt-transport-https ca-certificates
,为后续添加第三方源做准备。
二、核心组件部署:Nginx、MySQL与PHP的协同配置——让服务“各司其职”
LEMP环境的核心在于各组件的协同工作,需按顺序部署Nginx、MySQL和PHP。安装Nginx,执行sudo apt install -y nginx
,安装完成后通过sudo systemctl start nginx
启动服务,再用sudo systemctl enable nginx
设置开机自启。此时访问服务器公网IP,若显示Nginx默认欢迎页(“Welcome to nginx!”),说明Nginx部署成功。
接着配置MySQL。执行sudo apt install -y mysql-server
安装MySQL 8.0(2025年稳定版本),启动服务后通过sudo mysql_secure_installation
进行安全加固,过程中需设置root用户密码、删除匿名用户、禁止远程root登录等。为确保后续PHP连接MySQL顺畅,需创建专用数据库用户:登录MySQL后执行CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'StrongPassword123!@#';
,再授权该用户对特定数据库的操作权限:GRANT ALL PRIVILEGES ON myapp_db. TO 'app_user'@'localhost';
,刷新权限并退出。
部署PHP,通过安装PHP-FPM(FastCGI Process Manager)实现PHP解析。执行sudo apt install -y php-fpm php-mysql php-cli php-curl php-gd php-mbstring
,安装完成后需配置Nginx与PHP-FPM的通信:编辑Nginx站点配置文件(通常位于/etc/nginx/sites-available/default
),在server块中添加PHP解析规则:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; }
(PHP版本需与实际安装版本匹配,如php8.2-fpm),保存后执行sudo nginx -t
测试配置是否有误,无误后用sudo systemctl restart nginx
重启Nginx。
三、性能优化与安全加固:让LEMP环境“更稳更快”
基础环境搭建完成后,需通过优化提升性能。Nginx的并发性能可通过修改配置文件优化:编辑/etc/nginx/nginx.conf
,调整worker_processes为服务器CPU核心数(可通过nproc
查看),worker_connections设置为1024(根据服务器内存调整,避免过大导致内存溢出),启用gzip压缩功能:gzip on; gzip_types text/plain text/css application/json application/javascript;
,保存后重启Nginx。
安全方面,需重点防护服务器与应用层安全。配置UFW防火墙,仅开放必要端口:sudo ufw allow 'Nginx Full' && sudo ufw allow ssh && sudo ufw enable
,通过sudo ufw status
确认端口开放状态。为网站配置SSL证书,通过Certbot获取Let's Encrypt免费证书:sudo apt install -y certbot python3-certbot-nginx
,执行sudo certbot --nginx -d yourdomain.com
(需提前解析域名至服务器IP),自动配置HTTPS并强制跳转。定期更新系统与组件,执行sudo apt update && sudo apt upgrade -y
,避免因漏洞导致安全风险。
四、常见问题解答:解决LEMP环境搭建中的“拦路虎”
问题1:安装过程中遇到“无法定位软件包”错误怎么办?
答:可能是apt源未更新或源配置错误。先执行sudo apt update
更新源列表,若仍报错,检查/etc/apt/sources.list
文件,确保使用Ubuntu对应版本的官方源(如22.04的“jammy”,24.04的“noble”),可通过deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
替换为正确源地址,修改后重新执行更新。
问题2:如何在LEMP环境中部署WordPress或其他PHP应用?
答:创建MySQL数据库和用户(参考前文MySQL用户创建步骤),下载应用安装包:wget https://wordpress.org/latest.tar.gz -P /tmp
,解压至Nginx网站根目录:sudo tar -zxvf /tmp/latest.tar.gz -C /var/www/html/
,修改目录权限:sudo chown -R www-data:www-data /var/www/html/wordpress
。通过浏览器访问服务器IP/wordpress,按引导填写数据库信息(数据库名myapp_db、用户名app_user、密码StrongPassword123!@#),完成安装即可部署应用。