当前位置:

首页 > 编程开发 > PHP项目在Linux上如何部署与维护

PHP项目在Linux上如何部署与维护

在Linux上部署PHP项目需安装Apache或Nginx、PHP及扩展、数据库,配置服务器根目录与PHP处理规则,上传项目文件并设置权限为644/755,创建数据库和用户,修改项目配置文件,最后启动服务并定期检查日志和备份。

在Linux上部署PHP项目,听起来步骤不少,但核心流程其实很清晰。从安装环境到配置服务,再到上传文件、设置权限、连接数据库,每一步做到位,项目就能跑得稳。下面把整个流程拆开细讲,方便你跟着操作。

PHP项目在Linux上如何部署与维护

1. 安装必要的软件

首先,系统里得装上三样东西:Web服务器(Apache或Nginx二选一)、PHP(连带常用扩展,比如MySQLi、OpenSSL)、数据库(MySQL或PostgreSQL)。具体怎么装?往下看。

安装Apache和PHP

sudo apt update
sudo apt install apache2
sudo apt install php libapache2-mod-php php-mysql

安装Nginx和PHP

sudo apt update
sudo apt install nginx
sudo apt install php-fpm php-mysql

2. 配置Web服务器

装好之后,得让服务器知道你的项目往哪放、怎么处理PHP请求。不同服务器配置略有差异。

Apache配置

编辑Apache默认站点配置文件(通常路径是/etc/apache2/sites-a vailable/000-default.conf),把DocumentRoot和部分改成下面这样:


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

然后启用站点并重启服务:

sudo a2ensite 000-default.conf
sudo systemctl restart apache2

Nginx配置

编辑Nginx默认配置文件(通常位于/etc/nginx/sites-a vailable/default),设置根目录和PHP处理规则:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存后重启Nginx:

sudo systemctl restart nginx

3. 上传项目文件

用FTP、SFTP或者SCP,把PHP项目的所有文件传到服务器上你配置好的根目录(比如/var/www/html)。这一步没什么技术难度,注意别漏了隐藏文件就行。

4. 设置权限

权限设置不当,项目跑起来会报各种奇奇怪怪的错误。标准做法:把目录所有权交给Web服务器用户(通常是www-data),文件设为644,目录设为755。

sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type f -exec chmod 644 {} \;
sudo find /var/www/html -type d -exec chmod 755 {} \;

5. 配置数据库

项目离不开数据库。确保MySQL或PostgreSQL服务已经在运行,然后创建数据库和用户。

MySQL示例

CREATE DATABASE your_database_name;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;

PostgreSQL示例

CREATE DATABASE your_database_name;
CREATE USER your_username WITH ENCRYPTED PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_username;

6. 配置PHP项目

根据项目框架的要求,修改.env文件或其它配置文件,把数据库的连接信息填进去,还有像APP_URL、缓存路径等设置也要核对一遍。

7. 启动服务

确认Apache或Nginx以及PHP-FPM(如果用了Nginx)都已经启动并正常运行:

sudo systemctl status apache2   # 如果使用Apache
sudo systemctl status nginx     # 如果使用Nginx
sudo systemctl status php7.4-fpm  # 根据你的PHP版本调整

如果状态显示active (running),说明服务正常。否则查看日志排查问题。

8. 监控和维护

部署只是开始,维护才是常态。定期检查错误日志(Apache的/var/log/apache2/error.log,Nginx的/var/log/nginx/error.log),能帮你提前发现潜在问题。同时别忘了定期备份数据库和项目文件——数据丢了,哭都来不及。

跟着这套流程走,在Linux上部署PHP项目基本不会踩大坑。当然,实际环境中可能还会遇到PHP版本兼容、扩展缺失、防火墙规则等问题,但掌握了核心步骤,排查起来就有方向了。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Linux
相关文章 更多
linux删除用户与用户组的方法及命令教程
linux删除用户与用户组的方法及命令教程

掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

Linux如何开启端口号?开放端口命令详解
Linux如何开启端口号?开放端口命令详解

详细讲解Linux如何开启端口号以及常用的开放端口命令。

crossover卸载软件下载及重新安装教程
crossover卸载软件下载及重新安装教程

遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
IntelliJ IDEA macOS版
IntelliJ IDEA macOS版
Mac

IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。

PyCharm macOS版
PyCharm macOS版
Mac

JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。

WebStorm macOS版
WebStorm macOS版
Mac

JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

WINDOWS 更多
IntelliJ IDEA Windows版
IntelliJ IDEA Windows版
Windows

JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,

PhpStorm Windows版
PhpStorm Windows版
Windows

PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,

PyCharm Windows版
PyCharm Windows版
Windows

PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,