阿里云服务器部署hyperf框架官方demo

  1. 安装dnf包管理器
    • DNF 命令(Dandified yum) 是基于 RedHat 的系统的传统YUM 包管理器的下一代版本。它是 Fedora 22、CentOS8 和 RHEL8 的默认包管理器。它旨在替代 YUM。它使用 RPM 和libsolv(由 OpenSUSE 维护)进行包管理。
    • DNF旨在改善YUM的瓶颈,即性能、内存使用、依赖解决、速度和许多其他因素。DNF 使用 RPM、libsolv 和 hawkey 库进行包管理。虽然它没有在 CentOS 和 RHEL 7 中单独安装,但您可以 yum、dnf 并与 yum 一起使用它。
    • 常用的dnf命令:
      dnf安装:
      # yum install epel-release
      OR
      # yum install epel-release -y
      # yum install dnf
      
      常用命令(和yum很类似):
      # dnf --version 查看版本
      # dnf repolist  查看dnf的库
      # dnf list 列出dnf所有可用和已安装的包
      # dnf list installed 列出dnf所有已安装的包
      # dnf list installed | grep bash 查询当前已安装的某个具体的包
      # dnf list available 列出所有可用的包
      # dnf search nano 搜索某个包
      # dnf info nano dnf获取某个包的详细信息
      # dnf install nano dnf 安装某个包
      # dnf update systemd dnf更新某个包
      # dnf update OR # dnf upgrade dnf更新
      # dnf remove nano OR # dnf erase nano dnf移除某个包
      
  2. 安装swoole插件(编译安装)
    • 部署hyperf 框架的php项目,安装swoole是必须的,在阿里云上安装swoole不像mac上那么简单,brew安装缺那个插件就安装那个插件然后安装就好,反正网上搜到的使用包管理工具安装的都没有成功,最后使用编译安装的方式成功安装6.0版本。
     # 下载Swoole源码 解压对应的安装包 进入解压后的安装包文件夹中
     wget https://github.com/swoole/swoole-src/archive/v6.0.0.tar.gz
     tar xzf v6.0.0.tar.gz && cd swoole-src-6.0.0/
     
     # 生成 configure 文件 注意路径需要换成自己服务器的php路径终端命令执行
     /opt/remi/php84/root/bin/phpize 
    
     # 配置编译选项 配置编译安装的条件及其指定配置路径(路径需要换成自己服务器中php的路径)
     ./configure --enable-openssl --enable-sockets --enable-mysqlnd  --with-php-config=/opt/remi/php84/root/bin/php-config
    
     # 编译安装
     make && sudo make install 
    
      # 添加 40-swoole.ini 配置文件(这好像有问题,应该是将其写到php.ini文件中去)
     sudo echo "extension=swoole.so" > /etc/opt/remi/php84/php.d/40-swoole.ini
    
     php -m | grep swoole 验证是否安装成功
    
  3. 上传代码包: 通过先前介绍的fz将本地的项目代码上传到服务器的wwwroot/default目录下。
  4. 解决项目的访问权限
    • 文件上传后通过http://ip:9051 就能够访问,但是会提示用户的访问权限问题,可以通过下面命令对其(整个文件夹)开放权限:
cd  /home/wwwroot/default/hyperf-skeleton
chmod  -R  777 runtime
  1. 解决官方demo的时区设置异常
    • 通过php脚本中date_default_timezone_set('Asia/Shanghai'); 解决
    • 通过php.ini中添加date.timezone = Asia/Shanghai 全局设置时区。
  2. 启动对应的服务通过链接http://ip:9051 访问即可
    • 终端中通过命令cd到项目代码文件夹的目录下启动项目php服务
      cd  /home/wwwroot/default/hyperf-skeleton
      php bin/hyperf.php start
      
    • 通过上面的配置和修改后通过http://ip:9051 能够访问,hyperf的官方demo返回数据是get接口的hello数据,即:{"method":"GET","message":"Hello Hyperf."},看到这个说明部署成功了。
    • 在workbench后台终端中通过curl 终端命令也可以测试访问,即curl http://127.0.0.1:9501 {"method":"GET","message":"Hello Hyperf."}。curl是在终端中快速测试接口的一组终端命令,可以测试get,post,json,header等接口,常见几个命令如下,具体可以参考 Linux curl命令最全详解
      curl URL //发送get请求
      curl URL?a=1&b=nihao //带参数
      curl -X POST -d 'a=1&b=nihao' URL  //发送post请求 带参数
      curl -H "Content-Type: application/json" -X POST -d '{"abc":123,"bcd":"nihao"}' URL 
      curl -H "Content-Type: application/json" -X POST -d @test.json URL  //json格式参数的请求
      
    • 在部署完成测试的过程中出现了本地能够访问,远程访问出现403的问题,究其原因是hyperf的默认服务端口是9501,此端口号需要在服务器的安全组中的入口中配置放开,让其能够访问。,具体配置可以参考先前文章也可以如下配置:


      9501端口配置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容