温馨提示×

Ubuntu下如何部署PHP项目

小樊
59
2025-09-04 18:19:24
栏目: 编程语言

以下是在Ubuntu下部署PHP项目的步骤,可选择Apache或Nginx作为Web服务器:

一、基础环境准备

  1. 更新系统

    sudo apt update && sudo apt upgrade
    
  2. 安装Web服务器

    • Apache
      sudo apt install apache2
      sudo systemctl start apache2 && sudo systemctl enable apache2
      
    • Nginx
      sudo apt install nginx
      sudo systemctl start nginx && sudo systemctl enable nginx
      
  3. 安装PHP及扩展

    sudo apt install php php-fpm php-mysql php-mbstring php-xml
    sudo systemctl start php-fpm && sudo systemctl enable php-fpm  # 仅Nginx需配置PHP-FPM
    

二、配置Web服务器

Apache配置

  1. 编辑默认站点配置文件:
    sudo nano /etc/apache2/sites-available/000-default.conf
    
    修改DocumentRoot为项目路径(如/var/www/your_project),并确保AllowOverride All已启用。
  2. 启用配置并重启服务:
    sudo a2ensite 000-default.conf
    sudo systemctl restart apache2
    

Nginx配置

  1. 编辑默认站点配置文件:
    sudo nano /etc/nginx/sites-available/default
    
    修改root为项目路径,添加PHP处理配置:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;  # 根据PHP版本调整
    }
    
  2. 测试配置并重启服务:
    sudo nginx -t
    sudo systemctl restart nginx
    

三、部署PHP项目

  1. 上传项目文件
    将项目文件复制到Web根目录(如/var/www/your_project),可通过scp或FTP工具操作。
  2. 设置文件权限
    sudo chown -R www-data:www-data /var/www/your_project
    sudo chmod -R 755 /var/www/your_project
    

四、配置数据库(如需使用)

  1. 安装MySQL
    sudo apt install mysql-server
    sudo mysql_secure_installation  # 设置root密码及安全选项
    
  2. 创建数据库和用户
    sudo mysql -u root -p
    CREATE DATABASE your_db;
    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    
  3. 配置项目连接数据库
    修改项目中的.env或配置文件,填入数据库信息。

五、测试部署

在浏览器中访问http://your_server_ip/your_project,若看到项目页面或phpinfo()输出,则部署成功。

可选:配置SSL(增强安全性)

使用Let’s Encrypt免费证书:

sudo apt install certbot python3-certbot-apache  # Apache
# 或 sudo apt install certbot python3-certbot-nginx  # Nginx
sudo certbot --apache -d your_domain.com  # 按提示操作

0