Ubuntu LAMP环境部署与项目上线指南
LAMP(Linux + Apache + MySQL + PHP)是经典的Web开发环境组合,适用于搭建动态网站或Web应用。以下是在Ubuntu系统上部署LAMP环境并上线项目的详细步骤:
更新系统软件包:确保系统所有组件为最新版本,避免兼容性问题。
sudo apt update && sudo apt upgrade -y 安装基础工具(可选但推荐):便于后续文件编辑和网络诊断。
sudo apt install vim net-tools -y sudo apt install apache2 -y sudo systemctl start apache2 sudo systemctl enable apache2 http://<服务器IP>,若看到Apache默认欢迎页面(如“It Works!”),则说明安装成功。sudo systemctl status apache2 若显示“active (running)”,则表示服务正常运行。sudo apt install mysql-server -y sudo mysql_secure_installation sudo mysql -u root -p myproject_db):CREATE DATABASE myproject_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'myproject_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON myproject_db.* TO 'myproject_user'@'localhost'; FLUSH PRIVILEGES; EXIT; sudo apt install software-properties-common -y sudo add-apt-repository ppa:ondrej/php -y sudo apt update sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd -y php8.3-fpm:PHP FastCGI进程管理器,提升Apache与PHP的交互性能。php8.3-mysql:MySQL数据库驱动,用于PHP连接MySQL。sudo systemctl start php8.3-fpm sudo systemctl enable php8.3-fpm sudo a2enmod proxy proxy_fcgi rewrite sudo systemctl restart apache2 info.php文件:sudo nano /var/www/html/info.php <?php phpinfo(); ?> http://<服务器IP>/info.php,若看到PHP详细信息页面(如版本、模块列表),则说明PHP配置成功。/var/www/html(或自定义虚拟主机目录)。 /var/www/html。scp -r /local/project/path username@server_ip:/var/www/html/ www-data)对项目文件有读写权限:sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html chown:将文件所有者改为www-data(Apache运行用户)。chmod:设置目录权限为755(所有者可读写执行,其他用户可读执行),文件权限为644(所有者可读写,其他用户可读)。若需部署多个项目(如example1.com和example2.com),可通过虚拟主机隔离配置:
sudo nano /etc/apache2/sites-available/myproject.conf myproject.com为你的域名或IP,/var/www/myproject为项目目录):<VirtualHost *:80> ServerAdmin admin@example.com ServerName myproject.com ServerAlias www.myproject.com DocumentRoot /var/www/myproject/public_html ErrorLog ${APACHE_LOG_DIR}/myproject_error.log CustomLog ${APACHE_LOG_DIR}/myproject_access.log combined </VirtualHost> DocumentRoot:指定项目根目录(需提前创建,如/var/www/myproject/public_html)。ServerName:主域名;ServerAlias:别名(如www前缀)。sudo a2ensite myproject.conf sudo a2dissite 000-default.conf sudo systemctl restart apache2 http://myproject.com(需确保域名已解析至服务器IP),若看到项目页面,则说明虚拟主机配置成功。若系统启用了ufw防火墙,需允许HTTP(端口80)和HTTPS(端口443)流量:
sudo ufw allow 'Apache Full' sudo ufw reload Apache Full:包含HTTP(80)和HTTPS(443)端口。sudo ufw allow 80/tcp sudo systemctl status apache2。sudo ufw status(确保允许HTTP/HTTPS)。ls -l /var/www/html(确保www-data用户有读写权限)。php8.3-fpm服务是否运行:sudo systemctl status php8.3-fpm。apache2ctl -M | grep proxy_fcgi(应显示proxy_fcgi_module)。sudo systemctl status mysql。通过以上步骤,你可在Ubuntu系统上成功部署LAMP环境并上线项目。根据项目需求,还可进一步优化配置(如调整PHP内存限制、开启MySQL慢查询日志、配置HTTPS等)。