想要在阿里云服务器部署小程序php和uniapp写的?

在阿里云服务器部署基于 PHP 后端 + UniApp 前端的小程序,是一个非常经典且成熟的架构方案。UniApp 编译后生成的是小程序代码(运行在微信/支付宝等客户端),而 PHP 负责提供 API 接口服务。

以下是完整的部署流程和关键注意事项:

第一步:环境准备与资源购买

  1. 购买云服务器 (ECS)

    • 选择配置:根据项目规模,建议至少 2 核 CPU / 4GB 内存(轻量应用服务器也可,但 ECS 更灵活)。
    • 操作系统:推荐 Ubuntu 20.04/22.04 LTS 或 CentOS 7.9(Ubuntu 对 PHP 环境搭建支持较好)。
    • 安全组配置:开通 80 (HTTP), 443 (HTTPS), 22 (SSH) 端口。
  2. 域名与 SSL 证书

    • 域名:购买并解析到服务器 IP。
    • SSL 证书:小程序强制要求接口使用 HTTPS。可以在阿里云“云盾”或“内容分发网络”中免费申请 Let’s Encrypt 证书,并在服务器上配置 Nginx 启用 HTTPS。

第二步:后端环境搭建 (PHP)

登录服务器,安装 LNMP (Linux + Nginx + MySQL + PHP) 环境。推荐使用 宝塔面板 简化操作,或者手动安装。

方案 A:使用宝塔面板 (推荐新手)

  1. 安装宝塔面板脚本:
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484be
  2. 在面板中创建网站,设置根目录指向你的 PHP 项目文件夹。
  3. 安装 Nginx, MySQL, PHP 8.x (建议版本)。
  4. 导入数据库:通过 phpMyAdmin 将本地数据库备份文件导入服务器。
  5. 修改代码中的数据库连接配置 (config.php 或 .env),将 localhost 改为 127.0.0.1 或内网 IP。

方案 B:手动安装 (适合运维人员)

# 以 Ubuntu 为例
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml unzip git

注意:需配置 php.ini 开启 upload_max_filesize, post_max_size 等参数以适应小程序上传需求。


第三步:部署 UniApp 后端代码

  1. 上传代码

    • 使用 FTP 工具 (如 FileZilla) 或 SSH (SFTP) 将打包好的 PHP 后端代码上传到服务器目录(例如 /www/wwwroot/your_project)。
    • 确保目录权限正确:
      chown -R www:www /www/wwwroot/your_project
      chmod -R 755 /www/wwwroot/your_project
  2. 依赖安装 (Composer)

    • 如果项目使用了 Composer 管理依赖(如 Laravel, ThinkPHP 等):
      cd /www/wwwroot/your_project
      composer install --no-dev --optimize-autoloader
  3. 配置 Nginx

    • 确保 Nginx 配置支持 PHP 处理,通常包含以下核心配置:
      location ~ .php$ {
          fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据你的 PHP 版本调整
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_buffer_size 128k;
          fastcgi_buffers 4 256k;
          fastcgi_busy_buffers_size 256k;
      }
    • 如果是 Laravel 框架,记得配置 .htaccess 或 Nginx 的 try_files 规则以支持路由重写。

第四步:部署 UniApp 前端 (小程序端)

重要概念区分:
UniApp 开发时,你写的是 H5、小程序或 App 代码。小程序版不需要部署到阿里云服务器。

  • 微信小程序:你需要将代码上传到微信开发者工具,点击“上传”,由微信官方审核发布。
  • H5 版本:如果你需要同时提供 H5 网页版,则需要将 UniApp 编译为 H5 代码(uni build -p h5),然后将生成的 dist 文件夹上传到服务器的 Web 目录(如 /www/wwwroot/h5_version)。

如果你的需求是“让小程序能访问服务器”:
只需确保小程序代码中的 request 请求地址(如 https://api.yourdomain.com/api/login)指向你部署好的 PHP 接口即可。


第五步:关键配置与调试

  1. IP 白名单 (微信回调)

    • 如果涉及微信支付或第三方回调,需在微信公众平台后台填写服务器 IP 白名单。
    • 如果服务器有动态 IP,建议使用固定公网 IP。
  2. 跨域问题 (CORS)

    • 虽然小程序原生不支持标准 CORS,但如果你的 H5 版本或混合开发涉及浏览器访问,需在 Nginx 配置允许特定域名访问:
      add_header Access-Control-Allow-Origin *;
  3. 日志排查

    • 检查 Nginx 错误日志:/var/log/nginx/error.log
    • 检查 PHP 错误日志:通常在 /www/wwwlogs/ 或 /var/log/php-fpm/
    • 在代码中开启 error_reporting(E_ALL) 和 display_errors = On 进行临时调试(上线后请关闭)。
  4. HTTPS 强制跳转

    • 在 Nginx 配置中强制 HTTP 跳转到 HTTPS,否则小程序接口会报错。
      server {
      listen 80;
      server_name api.yourdomain.com;
      return 301 https://$server_name$request_uri;
      }

第六步:上线流程总结

  1. 测试:在本地或测试环境验证所有 API 接口通畅,HTTPS 证书有效。
  2. 提交审核:在微信开发者工具中上传小程序代码,填写类目并提交审核。
  3. 用户访问:审核通过后,用户扫码即可使用。
  4. 监控:建议安装 Supervisor 管理 PHP-FPM 进程,或使用阿里云云监控监控 CPU/带宽使用情况。

常见问题提示

  • 上传失败:检查 php.ini 中的 file_uploads, upload_max_filesize, post_max_size 是否足够大。
  • 403 Forbidden:通常是 Linux 文件权限问题,确保 Web 用户(www 或 nginx)有读取执行权限。
  • 404 Not Found:检查 Nginx 的 root 路径是否正确,以及 URL 重写规则是否生效。

按照以上步骤,你就可以顺利在阿里云上完成 PHP+UniApp 小程序的部署了。如果有具体的报错信息,可以进一步提供以便精准排查。

未经允许不得转载:云知道CLOUD » 想要在阿里云服务器部署小程序php和uniapp写的?