- 安裝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移除某個包
- 安裝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 驗證是否安裝成功 - 上傳代碼包: 通過先前介紹的fz將本地的項目代碼上傳到服務(wù)器的wwwroot/default目錄下。
- 解決項目的訪問權(quán)限
- 文件上傳后通過http://ip:9051 就能夠訪問,但是會提示用戶的訪問權(quán)限問題,可以通過下面命令對其(整個文件夾)開放權(quán)限:
cd /home/wwwroot/default/hyperf-skeleton
chmod -R 777 runtime
- 解決官方demo的時區(qū)設(shè)置異常
- 通過php腳本中date_default_timezone_set('Asia/Shanghai'); 解決
- 通過php.ini中添加date.timezone = Asia/Shanghai 全局設(shè)置時區(qū)。
- 啟動對應(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端口配置
- 終端中通過命令cd到項目代碼文件夾的目錄下啟動項目php服務(wù)
