首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
Ubuntu LAMP如何部署PHP应用

Ubuntu LAMP如何部署PHP应用

热心网友
39
转载
2026-04-30

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_dbyour_app_userStrongPassword!替换成你自己设定的数据库名、用户名和强密码。

    sudo mysql -u root -p
    CREATE 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)等。务必确保这里的信息和第二步创建数据库时完全一致。

  • 基础测试
    • 打开浏览器,访问 https://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环境中完成了从部署、配置到基础加固的全过程,可以准备迎接用户访问了。

来源:https://www.yisu.com/ask/2592747.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Ubuntu LAMP如何部署PHP应用
编程语言
Ubuntu LAMP如何部署PHP应用

Ubuntu LAMP部署PHP应用实操指南 一 环境准备与安装 万事开头先打基础。部署的第一步,是把LAMP这套“组合拳”给装好。下面以Ubuntu 20 04或22 04为例,带你走一遍标准流程。需要留意的是,系统仓库里的PHP版本可能随发行版不同而有差异,示例命令里包含了常用的扩展,你可以根据

热心网友
04.30
如何在 Ubuntu 上使用 PM2 管理 Nodejs 应用
编程语言
如何在 Ubuntu 上使用 PM2 管理 Nodejs 应用

在 Ubuntu 上使用 PM2 管理 Node js 应用程序 对于在 Ubuntu 服务器上部署 Node js 应用来说,PM2 几乎是个绕不开的工具。它集进程守护、负载均衡、日志管理于一身,能让你从繁琐的运维工作中解放出来,把精力真正聚焦在业务开发上。下面,我们就来一步步拆解,看看如何让 P

热心网友
04.30
Ubuntu Nodejs 应用如何进行调试
编程语言
Ubuntu Nodejs 应用如何进行调试

Ubuntu 上调试 Node js 应用的实用方法 在 Ubuntu 环境下开发 Node js 应用,调试是绕不开的一环。面对一个“不听话”的程序,如何快速定位问题?别急,下面这份从本地到远程的调试指南,或许能帮你理清思路。 一 本地调试 本地调试是最高效的起点,工具选择也最多样。 使用 Chr

热心网友
04.30
如何在 Ubuntu 上配置 Nodejs 环境变量
编程语言
如何在 Ubuntu 上配置 Nodejs 环境变量

在 Ubuntu 上配置 Node js 环境变量的步骤 想在 Ubuntu 系统里顺畅地使用 Node js 命令?关键一步就是正确配置环境变量。别担心,这个过程其实很直接,跟着下面这几个步骤走,几分钟就能搞定。 第一步:确保 Node js 已安装 当然,这一切的前提是你的系统里已经装好了 No

热心网友
04.30
Ubuntu Nodejs 内存如何管理
编程语言
Ubuntu Nodejs 内存如何管理

Ubuntu 上 Node js 内存管理实操指南 一 核心原理与关键指标 要管好内存,得先摸清它的“脾气”。Node js 的内存管理核心在于 V8 引擎。在 64 位系统上,V8 默认的堆内存上限大约是 1 4GB,而 32 位系统则减半,约为 0 7GB。这个上限可以通过启动参数 --max-

热心网友
04.30

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

关于天气的农谚
职业与学业
关于天气的农谚

清明刮了坟头土,沥沥拉拉四十五。 这些流传已久的农谚,可不是随口说说的顺口溜,它们是千百年来农耕文明与自然对话的结晶,是写在时间里的“天气备忘录”。一句句简短的话语,背后藏着的是对节气、物候与农事活动之间精密联系的深刻洞察。 节气与农事 先看清明和谷雨这对“搭档”。老话说,“清明要晴,谷雨要淋”。清

热心网友
04.30
经典的励志语句
职业与学业
经典的励志语句

人生伟业的建立,不在能知,乃在能行。 仔细想想,真正的阻碍往往并非来自外界,而是源于内心。任何的限制,其实都是从自己的内心开始的。 那么,我们该如何突破呢?不妨先从一个简单的行动开始:如果我们都去专注地做那些自己能做到的事情,最终的结果,往往会让自己大吃一惊。 行动固然重要,但人终究是社会性的存在。

热心网友
04.30
描写春雨的优美句子
职业与学业
描写春雨的优美句子

亮晶晶的春雨 你听,那是什么声音?是欢快的打击乐,还是轻盈的舞步?原来,是一群天真烂漫的娃娃——亮晶晶的春雨,正在高空中云集。它们嬉戏着,咿咿呀呀地欢唱着,然后一股脑儿地、欢蹦乱跳地扑向大地母亲的怀抱。 这春雨,可不只是娃娃们的嬉闹。它绵绵不绝,细细密密,像极了巧手姑娘使用的花针与丝线。它们斜斜地交

热心网友
04.30
赞扬母亲的句子
职业与学业
赞扬母亲的句子

母亲的爱是世间最伟大的爱,也是最珍贵的爱 母爱,常常藏匿于那些看似微不足道的日常琐碎里。它或许没有惊天动地的形式,却如涓涓细流,汇聚成永恒的生命之源。 该如何形容这种无处不在的守护呢?春天,她是拂面的和风,送来丝丝暖意;夏日,她是那口沁凉的冰淇淋,带来纯粹的快乐;秋时,她化作枝头那片悄然飘落的黄叶,

热心网友
04.30
描写花的好句子
职业与学业
描写花的好句子

一列美人蕉 盛开着红色、黄色而带着黑斑的大朵的花,正伸张了大口,向着灿烂的春光微笑。远远望去,美人蕉的花簇像一团团燃烧得正旺的火焰,充满了生命力;凑近细看,每一朵又宛如小姑娘发间俏丽的红蝴蝶结,透着几分活泼与羞涩。至于它那宽大的叶子,则像极了一把把撑开的绿色芭蕉扇,在风中轻轻摇曳。 看着这些盛开的花

热心网友
04.30