温馨提示×

Debian PHP项目部署怎么操作

小樊
45
2025-09-21 14:51:12
栏目: 编程语言

1. 更新系统软件包
首先确保系统包列表是最新的,避免因旧包冲突导致部署失败:

sudo apt update && sudo apt upgrade -y

2. 安装Web服务器(以Nginx为例)
Nginx是轻量高性能的Web服务器,适合托管PHP项目。安装命令:

sudo apt install nginx -y
sudo systemctl start nginx && sudo systemctl enable nginx

验证Nginx是否运行:浏览器访问服务器IP,若看到“Welcome to nginx”页面则表示成功。

3. 安装PHP及必要扩展
PHP是项目运行的核心,需安装PHP核心包及常用扩展(如MySQL、GD、MBString等):

sudo apt install php-fpm php-cli php-mysql php-gd php-mbstring php-curl php-xml php-zip -y
  • php-fpm:PHP FastCGI进程管理器,用于与Web服务器通信;
  • php-mysql:MySQL数据库驱动,若使用PostgreSQL则替换为php-pgsql
  • 其他扩展根据项目需求调整(如php-bcmath用于高精度计算)。

4. 配置PHP-FPM
编辑PHP-FPM的进程池配置文件(默认路径为/etc/php/8.2/fpm/pool.d/www.conf,版本号随安装的PHP版本变化),确保以下参数正确:

listen = /run/php/php8.2-fpm.sock  # 监听Unix套接字(推荐)或TCP端口(如127.0.0.1:9000)
listen.owner = www-data            # 监听所有者(需与Web服务器用户一致)
listen.group = www-data            # 监听所属组
user = www-data                    # 运行PHP的用户
group = www-data                   # 运行PHP的组

修改后重启PHP-FPM使配置生效:

sudo systemctl restart php8.2-fpm

5. 配置Web服务器处理PHP请求(Nginx为例)
编辑Nginx的默认站点配置文件(/etc/nginx/sites-available/default),添加PHP处理逻辑:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;  # 替换为域名或IP
    root /var/www/html;                              # 项目根目录
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;  # 尝试访问文件,不存在则返回404
    }

    location ~ \.php$ {             # 匹配所有.php结尾的请求
        include snippets/fastcgi-php.conf;  # 引入FastCGI配置
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;  # 与PHP-FPM的listen参数一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  # 设置脚本路径
        include fastcgi_params;          # 包含通用FastCGI参数
    }

    location ~ /\.ht {                # 禁止访问.htaccess文件(Apache遗留配置)
        deny all;
    }
}

测试Nginx配置语法是否正确:

sudo nginx -t

若无错误,重新加载Nginx:

sudo systemctl reload nginx

6. 上传PHP项目文件
将本地项目文件上传至Web服务器根目录(如/var/www/html),可使用scprsync或FTP工具:

scp -r /local/project/path/* user@your_server_ip:/var/www/html/

注意:上传前确保项目文件权限正确,避免Web服务器无法读取:

sudo chown -R www-data:www-data /var/www/html  # 将所有者设为www-data
sudo find /var/www/html -type f -exec chmod 644 {} \;  # 文件权限设为644
sudo find /var/www/html -type d -exec chmod 755 {} \;  # 目录权限设为755

7. 测试PHP运行
在项目根目录创建info.php文件,内容如下:

<?php phpinfo(); ?>

浏览器访问http://your_domain.com/info.php,若看到PHP详细信息页面(包括版本、模块、配置等),则表示PHP与Web服务器集成成功。

8. 可选:安装数据库(如MySQL/MariaDB)
若项目需要数据库支持,安装MySQL或MariaDB:

sudo apt install mariadb-server -y  # Debian推荐使用MariaDB(MySQL分支)
sudo mysql_secure_installation      # 运行安全设置脚本(设置root密码、移除匿名用户等)

创建数据库和用户:

sudo mysql -u root -p
CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

在项目中配置数据库连接信息(如config.php),即可使用数据库功能。

9. 可选:安全加固

  • 配置防火墙:使用UFW允许HTTP(80)和HTTPS(443)流量:
    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    
  • 启用HTTPS:通过Let’s Encrypt免费获取SSL证书,配置Nginx支持HTTPS(参考Certbot官方文档)。

0