阿里云轻量级服务器部署php?

云计算

在阿里云轻量应用服务器上部署PHP环境可以分为以下几个步骤,适用于常见的LAMP(Linux + Apache + MySQL + PHP)或LEMP(Linux + Nginx + MySQL + PHP)架构。以下是详细指南:


一、准备工作

  1. 购买服务器

    • 在阿里云官网购买轻量应用服务器(选择Ubuntu/CentOS/Debian等系统镜像)。
    • 确保安全组放行所需端口(如80/HTTP、443/HTTPS、22/SSH)。
  2. 登录服务器

    ssh root@你的服务器IP

二、安装PHP(以Ubuntu为例)

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装PHP

  • PHP 8.2(推荐)
    sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
  • 检查版本:
    php -v

3. 安装Web服务器(Nginx/Apache)

  • 选项1:Nginx(LEMP)

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

    配置Nginx支持PHP:
    编辑默认站点配置(/etc/nginx/sites-available/default),在server块中添加:

    location ~ .php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    重启Nginx:

    sudo systemctl restart nginx
  • 选项2:Apache(LAMP)

    sudo apt install apache2 -y
    sudo apt install libapache2-mod-php  # Apache的PHP模块
    sudo systemctl restart apache2

三、安装数据库(MySQL/MariaDB)

sudo apt install mysql-server -y
sudo mysql_secure_installation  # 运行安全配置脚本

创建数据库和用户:

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

四、测试PHP

  1. 创建测试文件:
    echo "<?php phpinfo(); ?>" > /var/www/html/info.php
  2. 浏览器访问:
    http://你的服务器IP/info.php
    应显示PHP配置信息。

五、部署PHP项目

  1. 上传代码

    • 使用scp或SFTP工具上传项目文件到/var/www/html/(或自定义目录)。
    • 示例(本地到服务器):
      scp -r ./my_project root@服务器IP:/var/www/html/
  2. 配置权限

    sudo chown -R www-data:www-data /var/www/html/
    sudo chmod -R 755 /var/www/html/
  3. 配置域名(可选)
    在Nginx/Apache中配置虚拟主机,绑定域名。


六、安全优化

  1. 防火墙设置

    sudo ufw allow 80/tcp
    sudo ufw allow 22/tcp
    sudo ufw enable
  2. 禁用危险函数
    编辑/etc/php/8.2/fpm/php.ini,修改:

    disable_functions = exec,passthru,shell_exec,system
  3. 安装SSL证书
    使用Let’s Encrypt免费证书:

    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d 你的域名.com

常见问题

  1. 502 Bad Gateway

    • 检查PHP-FPM是否运行:sudo systemctl status php-fpm
    • 确认Nginx配置中的fastcgi_pass路径正确。
  2. 文件权限问题
    确保Web用户(如www-data)有目录读写权限。

  3. PHP扩展缺失
    安装所需扩展,例如:

    sudo apt install php-redis php-imagick

通过以上步骤,你的PHP环境应该已成功部署。根据项目需求,可进一步调整Web服务器或PHP配置。

未经允许不得转载:CLOUD云枢 » 阿里云轻量级服务器部署php?