插件窝 干货文章 如何在Linux LAMP中部署PHP应用

如何在Linux LAMP中部署PHP应用

sudo PHP yourdomain Apache 116    来源:    2025-05-07

在Linux LAMP环境中部署PHP应用指南

LAMP (Linux, Apache, MySQL, PHP) 是部署PHP应用的经典环境组合。以下是详细的部署步骤:

1. 准备工作

确保你有一个运行Linux的服务器,并具有管理员权限。

2. 安装LAMP组件

Ubuntu/Debian系统

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

CentOS/RHEL系统

sudo yum install httpd mariadb-server php php-mysqlnd
sudo systemctl start httpd mariadb
sudo systemctl enable httpd mariadb

3. 配置Apache

基本配置

  1. 确保Apache正在运行:

    sudo systemctl status apache2   # Ubuntu/Debian
    sudo systemctl status httpd     # CentOS/RHEL
    
  2. 设置Apache启动时自动运行:

    sudo systemctl enable apache2
    

虚拟主机配置(推荐)

  1. 创建配置文件:

    sudo nano /etc/apache2/sites-available/yourdomain.conf
    
  2. 添加以下内容(根据实际情况修改):

    <VirtualHost *:80>
       ServerAdmin admin@yourdomain.com
       ServerName yourdomain.com
       ServerAlias www.yourdomain.com
       DocumentRoot /var/www/yourdomain/public_html
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       <Directory /var/www/yourdomain/public_html>
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
       </Directory>
    </VirtualHost>
    
  3. 启用站点并重载Apache:

    sudo a2ensite yourdomain.conf
    sudo systemctl reload apache2
    

4. 配置MySQL

  1. 运行安全安装脚本:

    sudo mysql_secure_installation
    
  2. 登录MySQL并创建数据库和用户:

    sudo mysql -u root -p
    
    CREATE DATABASE app_db;
    CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'secure_password';
    GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

5. 部署PHP应用

  1. 将应用文件上传到web目录:

    sudo mkdir -p /var/www/yourdomain/public_html
    sudo chown -R $USER:$USER /var/www/yourdomain/public_html
    # 上传你的PHP文件到此目录
    
  2. 设置正确的权限:

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

6. 安装必要的PHP扩展

根据应用需求安装额外扩展:

sudo apt install php-curl php-gd php-mbstring php-xml php-zip  # Ubuntu/Debian
sudo yum install php-curl php-gd php-mbstring php-xml php-zip  # CentOS/RHEL

7. 配置PHP

  1. 编辑php.ini文件:

    sudo nano /etc/php/7.x/apache2/php.ini  # 路径和版本可能不同
    
  2. 常见需要修改的配置:

    upload_max_filesize = 32M
    post_max_size = 48M
    memory_limit = 256M
    max_execution_time = 300
    date.timezone = Asia/Shanghai
    
  3. 重启Apache使更改生效:

    sudo systemctl restart apache2
    

8. 测试部署

  1. 创建测试PHP文件:

    echo "<?php phpinfo(); ?>" > /var/www/yourdomain/public_html/info.php
    
  2. 在浏览器访问:http://yourdomain.com/info.php,应显示PHP信息页面

  3. 测试MySQL连接:

    <?php
    $conn = new mysqli('localhost', 'app_user', 'secure_password', 'app_db');
    if ($conn->connect_error) {
       die("连接失败: " . $conn->connect_error);
    }
    echo "连接成功";
    $conn->close();
    ?>
    

9. 安全加固

  1. 删除测试文件:

    rm /var/www/yourdomain/public_html/info.php
    
  2. 配置防火墙:

    sudo ufw allow 'Apache Full'  # Ubuntu/Debian
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload    # CentOS/RHEL
    
  3. 考虑安装SSL证书(如Let's Encrypt):

    sudo apt install certbot python3-certbot-apache  # Ubuntu/Debian
    sudo certbot --apache
    

10. 应用特定配置

根据你的PHP应用需求,可能还需要: - 配置.htaccess文件 - 设置cron作业 - 配置应用特定的环境变量 - 安装Composer依赖

通过以上步骤,你的PHP应用应该已经在LAMP环境中成功部署并运行。