laravel项目使用appnode部署linux系统到阿里云服务器流程记录(待补充)

时间:2021-03-23 23:34:22
  1. 使用 SSH 连接工具,如 PuTTY、XShell、SecureCRT 等,连接 Linux 服务器后(阿里云服务器命令行内直接输入appnode安装命令,版本:mysql选5.7、php选7.2),安装appnode
  2. 在阿里云安全组中打开需要的端口,如appnode的8888、redis6379、mysql3306、交易软件似乎需要888的web socket端口
  3. 输入‘域名:8888’进入项目管理首页,创建网站,域名、程序目录等可以直接模仿jf的配置。注意点:
    1. ‘基本’-‘HTTPS’:需要域名捆绑生成ssl证书使用https
    2. ‘基本’-‘伪静态’:一定要开启
    3. ‘PHP’-‘PHP安全’:安全模式:自定义,open_basedir:是、allow_url_fopen:是、其他的否。
    4. ‘PHP’-‘Composer’:需要安装
  4. 点开左边栏应用列表里的‘软件管家’,下载安装下列软件:‘防火墙’、‘Supervisor进程托管’、‘Let's Encrypt’、‘Redis服务器’
  5. 在计划任务和Supervisor进程托管中把需要定时运行的任务和队列通过模仿jf建立起来并且刷新运行
  6. 进入文件管理的操作:
    1. 由于php命令的系统变量似乎appnode在建立时没有全局,要手动全局,进入 root/.bash_profile文件夹,加一句‘PATH=$PATH:/opt/appnode/appnode-php72/root/usr/bin’并且在root文件夹打开命令行输入 'source .bash_profile' 加载配置
    2. 进入项目文件,如:/data/jffzxltz/sites/jf.fzxltz.com/www/stock_backend/ 打开命令行进行laravel项目的基础配置
      1. 'cp .env.example .env' 并配置.env文件
      2. ‘php artisan key:generate’
      3. 'composer update'(速度过慢可百度搜composer国内镜像)
      4. 'composer dump-autoload'
      5. 'php artisan migrate --seed' 检查‘项目/database/seeds/DatabaseSeeder.php’:若不是测试服务器则不需要假数据应该把处理‘AdminTableSeeder’那一行以外的填充数据都注释。 本行出错看下↓
      6. 若报错为填充错误可能是各个表的外键联系有误,可进行相应修改重新'php artisan migrate:refresh --seed'(此条命令是把数据表重新填充,会把数据清空,慎用),若在报错中看到有关config_model的报错是因为在'项目/app/Providers/AppServiceProvider.php'中使用了config_model表内容,解决办法:注释掉涉及config_model的那一段代码重新运行,或者在.env中把APP_ENV = production改为local(优先选用第一种方法)
      7. 'php artisan get:stocks'获取股票列表
      8. 'php artisan cal:market-open'获取股票开盘情况(每天会自动获取,存入缓存,有效期至每年年底)
  7. 其他注意点:
    1. 前端一定要根据新的域名重新打包
    2. 页面信息加载有误,某些内容获取或上传出错:文件夹权限读写未开
    3. 数据库的定是备份需要开启,远程备份要重新关联新的oss中的bucket防止和其他项目搞混
    4. 数据库如要本地连接需要打开防火墙,并且开启阿里云安全组端口3306
    5. 若项目的真实域名和appnode里创建网址中填写的域名不同会出现修改配置重新部署以后无法登陆的情况:只要把创建网址中的域名改成真实域名重新部署就可。
    6. 伪静态在某些重新部署的情况下会莫名消失导致项目打不开,重新部署配置以后记得查看一下
    7. 务必确保队列和进程任务的正常运行,可测试一个订单