阿里云服務(wù)器部署hyperf框架官方demo

  1. 安裝dnf包管理器
    • DNF 命令(Dandified yum) 是基于 RedHat 的系統(tǒng)的傳統(tǒng)YUM 包管理器的下一代版本。它是 Fedora 22、CentOS8 和 RHEL8 的默認(rèn)包管理器。它旨在替代 YUM。它使用 RPM 和libsolv(由 OpenSUSE 維護(hù))進(jìn)行包管理。
    • DNF旨在改善YUM的瓶頸,即性能、內(nèi)存使用、依賴解決、速度和許多其他因素。DNF 使用 RPM、libsolv 和 hawkey 庫進(jìn)行包管理。雖然它沒有在 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 查詢當(dāng)前已安裝的某個具體的包
      # dnf list available 列出所有可用的包
      # dnf search nano 搜索某個包
      # dnf info nano dnf獲取某個包的詳細(xì)信息
      # 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安裝缺那個插件就安裝那個插件然后安裝就好,反正網(wǎng)上搜到的使用包管理工具安裝的都沒有成功,最后使用編譯安裝的方式成功安裝6.0版本。
     # 下載Swoole源碼 解壓對應(yīng)的安裝包 進(jìn)入解壓后的安裝包文件夾中
     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 文件 注意路徑需要換成自己服務(wù)器的php路徑終端命令執(zhí)行
     /opt/remi/php84/root/bin/phpize 
    
     # 配置編譯選項 配置編譯安裝的條件及其指定配置路徑(路徑需要換成自己服務(wù)器中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 配置文件(這好像有問題,應(yīng)該是將其寫到php.ini文件中去)
     sudo echo "extension=swoole.so" > /etc/opt/remi/php84/php.d/40-swoole.ini
    
     php -m | grep swoole 驗證是否安裝成功
    
  3. 上傳代碼包: 通過先前介紹的fz將本地的項目代碼上傳到服務(wù)器的wwwroot/default目錄下。
  4. 解決項目的訪問權(quán)限
    • 文件上傳后通過http://ip:9051 就能夠訪問,但是會提示用戶的訪問權(quán)限問題,可以通過下面命令對其(整個文件夾)開放權(quán)限:
cd  /home/wwwroot/default/hyperf-skeleton
chmod  -R  777 runtime
  1. 解決官方demo的時區(qū)設(shè)置異常
    • 通過php腳本中date_default_timezone_set('Asia/Shanghai'); 解決
    • 通過php.ini中添加date.timezone = Asia/Shanghai 全局設(shè)置時區(qū)。
  2. 啟動對應(yīng)的服務(wù)通過鏈接http://ip:9051 訪問即可
    • 終端中通過命令cd到項目代碼文件夾的目錄下啟動項目php服務(wù)
      cd  /home/wwwroot/default/hyperf-skeleton
      php bin/hyperf.php start
      
    • 通過上面的配置和修改后通過http://ip:9051 能夠訪問,hyperf的官方demo返回數(shù)據(jù)是get接口的hello數(shù)據(jù),即:{"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 //發(fā)送get請求
      curl URL?a=1&b=nihao //帶參數(shù)
      curl -X POST -d 'a=1&b=nihao' URL  //發(fā)送post請求 帶參數(shù)
      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格式參數(shù)的請求
      
    • 在部署完成測試的過程中出現(xiàn)了本地能夠訪問,遠(yuǎn)程訪問出現(xiàn)403的問題,究其原因是hyperf的默認(rèn)服務(wù)端口是9501,此端口號需要在服務(wù)器的安全組中的入口中配置放開,讓其能夠訪問。,具體配置可以參考先前文章也可以如下配置:


      9501端口配置
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容