Ubuntu LAMP如何部署PHP应用
Ubuntu LAMP部署PHP应用实操指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一 环境准备与安装
万事开头先打基础。部署的第一步,是把LAMP这套“组合拳”给装好。下面以Ubuntu 20.04或22.04为例,带你走一遍标准流程。需要留意的是,系统仓库里的PHP版本可能随发行版不同而有差异,示例命令里包含了常用的扩展,你可以根据自己项目的实际需要来增减。
- 更新索引并安装组件
打开终端,依次执行以下命令。这组命令会一次性安装Apache、MariaDB、PHP以及一系列常用的PHP扩展。
sudo apt update sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql \ php-cli php-curl php-json php-mbstring php-xml php-zip - 启动并设为开机自启
安装完成后,得让服务跑起来,并且确保服务器重启后它们能自动启动。
sudo systemctl start apache2 mariadb sudo systemctl enable apache2 mariadb - 数据库安全加固
对于刚安装的MariaDB,强烈建议运行一下安全配置向导。这个交互式脚本会引导你设置root密码、移除匿名用户、禁止远程root登录等,是提升安全性的第一步。
sudo mysql_secure_installation - 验证PHP模块与版本
为了让Apache正确解析PHP,需要启用对应的PHP模块,并重启服务使其生效。最后,用
php -v看一眼版本,确认PHP已就位。a2enmod php$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') sudo systemctl restart apache2 php -v
走完这几步,一个可用的LAMP基础环境就已经搭建完成了,PHP也能正常工作了。
二 数据库创建与导入
环境好了,接下来得给应用准备一个“专属数据库”。原则是:为每个应用创建独立的数据库和用户,避免使用root账户直接操作,这样更安全。
- 创建数据库和用户
首先,用root身份登录MariaDB。然后,在MySQL提示符下执行以下命令。记得把命令里的
your_app_db、your_app_user和StrongPassword!替换成你自己设定的数据库名、用户名和强密码。sudo mysql -u root -pCREATE DATABASE your_app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'your_app_user'@'localhost' IDENTIFIED BY 'StrongPassword!'; GRANT ALL PRIVILEGES ON your_app_db.* TO 'your_app_user'@'localhost'; FLUSH PRIVILEGES; EXIT; - 导入初始数据(可选)
如果你的项目附带一个SQL备份文件(比如
dump.sql),现在就可以把它导入到新建的数据库里了。mysql -u your_app_user -p your_app_db < /path/to/dump.sql
至此,数据库层面的准备工作就全部完成了,应用已经可以安全地连接数据库并进行数据初始化。
三 部署应用与目录权限
代码放哪里、权限怎么设,这两件事直接关系到应用能否正常运行和安全。一个常见的做法是把代码放在/var/www/目录下。
- 部署应用代码
你可以直接复制代码,或者使用Git克隆仓库。这里以创建
/var/www/your_app目录为例。sudo mkdir -p /var/www/your_app sudo cp -r /path/to/your_app/. /var/www/your_app/ # 或使用 Git # sudo git clone https://your-repo.git /var/www/your_app - 设置所有权与权限
关键点来了:在Ubuntu上,Apache通常以
www-data用户和组运行。因此,我们需要把项目目录的所有权交给它。同时,遵循“最小权限原则”:文件644(读写-只读-只读),目录755(读写执行-只读执行-只读执行)。sudo chown -R www-data:www-data /var/www/your_app sudo find /var/www/your_app -type f -exec chmod 644 {} \; sudo find /var/www/your_app -type d -exec chmod 755 {} \; # 若应用需要写入(如上传、缓存、日志),仅对相应目录放宽写权限,例如: # sudo chmod -R 775 /var/www/your_app/storage /var/www/your_app/public/uploads - 安装Composer依赖(如需要)
如果你的PHP项目使用Composer管理依赖,那么还需要在项目根目录下运行安装命令。生产环境记得加上
--no-dev选项来跳过开发依赖。curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer cd /var/www/your_app && composer install --optimize-autoloader --no-dev
完成以上操作,就意味着应用代码已经就位,文件权限设置正确,所需的依赖也安装完毕了。
四 配置 Apache 与虚拟主机
现在,我们需要告诉Apache:“有一个新的网站要托管,这是它的地址和家在哪里。”这就是配置虚拟主机。
- 启用重写模块
绝大多数现代PHP框架(如Lara vel、Symfony)都依赖URL重写来提供友好的路由。所以第一步是启用Apache的
rewrite模块。sudo a2enmod rewrite - 创建虚拟主机配置文件
在
/etc/apache2/sites-a vailable/目录下,为你的应用创建一个新的配置文件,例如your_app.conf。将下面的配置粘贴进去,并替换your_domain.com为你的实际域名,确认DocumentRoot指向你应用的公共目录(通常是public文件夹)。ServerAdmin webmaster@localhost ServerName your_domain.com DocumentRoot /var/www/your_app/public # 多数框架使用 public 作为根目录 Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/your_app_error.log CustomLog ${APACHE_LOG_DIR}/your_app_access.log combined - 启用站点并重启Apache
启用新站点配置,并禁用默认站点(如果不需要的话,避免端口冲突)。最后,重新加载Apache配置使改动生效。
sudo a2ensite your_app.conf sudo a2dissite 000-default.conf # 如使用默认站点,建议禁用避免冲突 sudo systemctl reload apache2
经过这番配置,你的应用就已经通过一个独立的域名(或IP)在Apache上安家了,并且支持了URL重写功能。
五 应用配置 测试与安全加固
最后一步,把各个环节串联起来,并做好上线前的检查和加固。
- 配置应用连接信息
打开你项目的配置文件(例如Lara vel的
.env文件),填入之前创建的数据库信息:数据库名(DB_DATABASE)、用户名(DB_USERNAME)、密码(DB_PASSWORD)等。务必确保这里的信息和第二步创建数据库时完全一致。 - 基础测试
- 打开浏览器,访问
http://your_domain/,检查应用首页是否能正常显示,核心路由是否工作。 - 如果遇到问题,别慌。查看错误日志和访问日志是定位问题的好方法:
sudo tail -f /var/log/apache2/your_app_error.log sudo tail -f /var/log/apache2/your_app_access.log
- 打开浏览器,访问
- 安全与优化建议
为了让应用更健壮、更安全,这里有几个后续可以跟进的建议:
- 启用HTTPS:使用Let’s Encrypt的Certbot等工具免费获取SSL证书,并配置强制全站HTTPS,这是现代网站的标配。
- 关闭生产环境错误显示:在
php.ini中,设置display_errors = Off,同时确保log_errors = On。这样既能防止敏感信息泄露给用户,又能让错误记录到日志中供你排查。 - 调整PHP关键参数:根据应用需求,适当调整
memory_limit(内存限制)、upload_max_filesize(上传文件大小)和post_max_size(POST数据大小)等参数。 - 保持系统更新:定期运行
sudo apt update && sudo apt upgrade,保持系统和软件包处于最新状态,修复已知漏洞。 - 数据库管理(可选):如果需要图形化管理数据库,可以安装phpMyAdmin,但务必将其访问来源限制在可信IP范围内,并设置强密码。
完成以上所有步骤,你的PHP应用就已经在Ubuntu LAMP环境中完成了从部署、配置到基础加固的全过程,可以准备迎接用户访问了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
如何利用Cobbler进行系统更新
Cobbler系统更新最佳实践与操作指南 首先需要明确一个核心理念:Cobbler的核心功能在于自动化系统部署与初始配置,它并非为在线软件包管理或增量式升级而设计。那么,对于已投入生产运行的操作系统,我们应如何科学地借助Cobbler来完成更新任务呢? 正确的策略是:在Cobbler服务器端,持续维
Compton配置里窗口管理如何优化
Compton 窗口管理优化完全指南:提升性能与流畅度的专业配置方案 一、 核心优化原则 想要显著提升Compton窗口管理器的运行效率与流畅度?掌握以下核心优化原则,能有效避免常见性能瓶颈,实现系统资源的高效利用。 优先启用GPU硬件加速:在X11显示服务器环境下,务必选择glx作为渲染后端,以获
如何通过Compton配置提升视频播放效果
Compton配置优化视频播放的实用指南 作用边界与总体思路 首先需要明确一点:Compton 是一款 X11 窗口合成器,其核心职责在于窗口管理,例如实现窗口透明、阴影、淡入淡出等视觉效果,并最终完成画面的合成与输出。它并不直接参与视频解码过程,因此无法提升视频本身的码率或画质清晰度。它对视频播放
Notepad++怎么设置自动完成符号对(如括号、引号)
Notepad++怎么设置自动完成符号对(如括号、引号) 自动完成符号对功能在哪个设置项里 想给Notepad++配上自动补全括号、引号的功能?很多人的第一反应是去“自动完成(Auto-completion)”选项卡里翻找,结果往往一无所获。其实,这个功能藏得有点深,它的正确路径是 Settings
Compton配置时遇到性能瓶颈怎么办
Compton 性能瓶颈定位与优化 一、快速定位瓶颈 当桌面出现卡顿、延迟等性能问题时,首要任务是进行系统性诊断,而非盲目调整参数。遵循科学的排查流程,能高效锁定问题根源。 监控系统资源:首先,通过终端运行 top 或 htop 命令,持续观察 Compton 进程的 CPU 使用率是否异常偏高。同
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

