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等)。