sudo apt update && sudo apt upgrade -y
curl、git、unzip等常用工具,方便后续操作。sudo apt install -y curl git unzip
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
apt快速安装。sudo apt install -y mysql-server
mysql_secure_installation脚本,设置root密码、删除匿名用户、禁止远程root登录等。sudo mysql_secure_installation
mysql -u root -p
输入密码后进入MySQL命令行,可创建数据库、用户等(后续开发需用到)。mysql、curl、gd)。sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
/etc/php/8.2/fpm/pool.d/www.conf,版本号随PHP版本调整),确保listen路径与Nginx配置一致(如/run/php/php8.2-fpm.sock)。sudo nano /etc/php/8.2/fpm/pool.d/www.conf
找到listen = /run/php/php8.2-fpm.sock,取消注释并确认路径正确。sudo systemctl restart php8.2-fpm
/var/www/html/info.php,内容为<?php phpinfo(); ?>,浏览器访问http://服务器IP/info.php,若显示PHP信息页面,则说明安装成功。/etc/nginx/sites-available/default),添加PHP处理规则。sudo nano /etc/nginx/sites-available/default
在server块中添加以下location段:location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 路径需与PHP-FPM配置一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
sudo nginx -t
若输出“syntax is ok”和“test is successful”,则继续下一步。sudo systemctl restart nginx
/var/www/html下创建应用目录(如myapp),并设置权限。sudo mkdir -p /var/www/html/myapp
sudo chown -R $USER:$USER /var/www/html/myapp # 将所有者设为当前用户,方便操作
sudo chmod -R 755 /var/www/html/myapp # 设置合理权限
/var/www/html/myapp。CREATE DATABASE myapp_db; -- 创建数据库
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'strong_password'; -- 创建用户
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost'; -- 授权
FLUSH PRIVILEGES; -- 刷新权限
wp-config.php、Laravel的.env),填入数据库信息(数据库名、用户名、密码)。http://服务器IP/myapp,若配置正确,应用将正常加载。sudo netstat -tuln | grep 80),或Nginx配置文件语法错误(sudo nginx -t)。sudo systemctl status php8.2-fpm),且Nginx配置中的fastcgi_pass路径正确。sudo systemctl status mysql),确认用户权限(mysql -u root -p -e "SHOW GRANTS FOR 'myapp_user'@'localhost';")。通过以上步骤,你已在Ubuntu上成功搭建LNMP环境,可开始开发或部署PHP应用。根据应用需求,还可进一步配置HTTPS(Let’s Encrypt)、伪静态规则(如WordPress的rewrite)、缓存优化等。