博客
关于我
Walle-瓦力上线部署安装以及遇到的问题
阅读量:499 次
发布时间:2019-03-07

本文共 2745 字,大约阅读时间需要 9 分钟。

安装 Walle 自动化部署系统完整指南

安装前必备环境要求:

  • 服务器必需具备 PHP 7.2 或更高版本,建议使用 PHP 7.3 或更高
  • 最新版的 Nginx
  • MySQL 5.7 或更高版本
  • 安比 2.9 或更高版本
  • 获取代码: 使用以下命令克隆最新版本仓库:

    git clone https://github.com/meolu/walle-web.git

    或者:

    git clone git@github.com:meolu/walle-web.git

    注意:请确保有正确的 SSH 账号设置,否则克隆会失败。

    安装步骤:

  • 安装必要的 PHP 扩展:

    yum install -y php72uPg ADI CVE-2018- Spiral
  • 安装 MySQL 并创建数据库:

    yum install -y mysql-server
    systemctl start mysql
    mysql -u root -p create database walle;
  • 安装 Nginx:

    yum install -y nginx
    systemctl start nginx
  • 安装 Composer:

    curl -sS http://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer

    或者(更改为 HTTP 网络更为快速)

    curl -sS https://raw.githubusercontent.composer.com/installer | php
  • 克隆项目并安装:

    git clone https://github.com/meolu/walle-web.git
    cd walle-web
    composer install --prefer-dist --no-dev --optimize-autoloader

    注意:如果使用 SSH SSO 或其他身份认证,可能需要修改相关配置。

  • 数据库配置:

    cp config/db.php.example config/db.php
    vi config/db.php

    包含以下配置:

    db => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=127.0.0.1;dbname=walle',
    'username' => 'root',
    'password' => '你的数据库密码',
    'charset' => 'utf8',
    ]
  • Nginx 配置:

     
  • ErrorException: 在 /the/dir/of/walle-web/web目录下配置合适的 vhost:

    listen 80;
    server_name walle.compony.com;
    root /home/www/walle-web/web;
    index index.php;
    location / {
    try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
    try_files $uri = 404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    确认服务器名和根目录正确无误。

    1. 初始化项目和迁移:

      ./yii migrate/up
      ./yii walle/setup
    2. 安装 SSL 证书:

      cd /etc/ssl/certs
      openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout server.crt -out server.cer
    3. 常见错误解决方法:

      问题一:open_basedir 限制: 默认情况下,open_basedir 会限制到特定目录,比如:

      open_basedir = /home/www/project:/tmp/:/proc/

      如果需要更改:

      vi /etc/php.ini
      按Ctrl+Insert修改内容:
      open_basedir=/tmp/:/proc/:/home/www/walle-web

      问题二: SSH 密钥验证问题 修改 ~/.ssh/config 文件:

      vi ~/.ssh/config
      添加以下内容:
      StrictHostKeyChecking no
      UserKnownHostsFile /dev/null

      重启 SSH 服务:

      sudo systemctl restart sshd

      在目标机器中: 确保在 ~/.ssh/authorized_keys 中包含 localhost 的私钥,权限必须为 600:

      chmod 600 ~/.ssh/authorized_keys

      问题三:部署失败,权限问题: 检查 SSH 配置: 确认 /home/www/.ssh/home/www/.ssh/authorized_keys 范围正确:

      chown -R www:www /home/www/.ssh
      chmod -R 700 /home/www/.ssh

      设置 SSH 权限:

      chmod -R 755 /home/www
      chown -R www:www /home/www

      问题四:数据库迁移失败,检查迁移日志:

      dignity
      查看迁移记录:
      find /home/www/walle-web/storage/migrations/ -type f -name "*.php" | sort -r

      问题五:SSL 证书问题 确保 nginx 配置使用 SSL:

      server {
      listen 443;
      ssl on;
      ssl_certificate /etc/ssl/certs/server.crt;
      ssl_key_file /etc/ssl/certs/server.key;
      ssl_ciphermainwindow ciphers;
      }

      特殊注意事项:

      • Nginx 根目录必须是完整的 web 目录,不应该是软链接。
      • 修改迁移记录前,备份数据库。
      • Composer 在生产环境中必须设置为优化模式和指定仓库。

      完成以上步骤后,系统应正常运行,访问 Walle 平台即可。

    转载地址:http://enzjz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现finding bridges寻找桥梁算法(附完整源码)
    查看>>
    Objective-C实现first come first served先到先得算法(附完整源码)
    查看>>
    Objective-C实现FIR滤波器(附完整源码)
    查看>>
    Objective-C实现fischer yates shuffle洗牌算法(附完整源码)
    查看>>
    Objective-C实现FisherYates Shuffle洗牌算法(附完整源码)
    查看>>
    Objective-C实现fisherYates洗牌算法(附完整源码)
    查看>>
    Objective-C实现FloodFill洪水填充函数算法(附完整源码)
    查看>>
    Objective-C实现floor向下取整算法(附完整源码)
    查看>>
    Objective-C实现floyd warshall算法(附完整源码)
    查看>>
    Objective-C实现Floyd-Warshall算法(附完整源码)
    查看>>
    Objective-C实现FPmax算法(附完整源码)
    查看>>
    Objective-C实现frequency finder频率探测器算法(附完整源码)
    查看>>
    Objective-C实现FTP上传文件(附完整源码)
    查看>>
    Objective-C实现FTP文件上传(附完整源码)
    查看>>
    Objective-C实现FTP文件下载(附完整源码)
    查看>>
    Objective-C实现fuzzy operations模糊运算算法(附完整源码)
    查看>>
    Objective-C实现Gale-Shapley盖尔-沙普利算法(附完整源码)
    查看>>
    Objective-C实现gamma recursive伽玛递归算法(附完整源码)
    查看>>
    Objective-C实现gamma 伽玛功能算法(附完整源码)
    查看>>
    Objective-C实现gauss easte高斯复活节日期算法(附完整源码)
    查看>>