Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

作者: 日落

whois 查詢 domain record

Posted on 2023 年 4 月 12 日2023 年 4 月 12 日 By 日落 在〈whois 查詢 domain record〉中尚無留言

whois 查詢有時會查不到資料:

$ whois mail.google.com
No match for "MAIL.GOOGLE.COM".

可能是查詢時使用的 server 沒有該 domain 的資料。

這時可以直接到 IANA 的 server 查詢:

whois -h whois.iana.org mail.google.com

Ref: How can I find the WHOIS server for any TLD?

Tags:Linux

啟動 & 停止 Laravel queue worker in Bash

Posted on 2023 年 4 月 2 日2023 年 4 月 2 日 By 日落 在〈啟動 & 停止 Laravel queue worker in Bash〉中有 5 則留言

Laravel 的 queue worker 與 Horizon 需要透過 artisan queue:work 在背景執行,若可以的話,再使用 systemd 或 supervisor 來監控運作狀態。

不過 systemd 和 supervisor 都需要 root 權限來操作,說起來蠻麻煩的,所以寫了一小段 shell script 來啟動與停止,沒辦法在 worker 中斷時 restart,但可以做 graceful start & shutdown。

啟動 queue worker:

./artisan queue:work \
    --no-interaction --no-ansi >> storage/logs/queue.log 2>&1 &

# 透過 $? 來檢查指令執行是否成功
if [ $? -ne 0 ]; then
    echo "FAILED !"
else
    echo "OK"
fi

停止所有的 queue worker:

# queue:restart 會送訊號給所有的 worker 來 graceful shutdown
./artisan queue:restart --quiet --no-ansi

# 檢查是否所有的 proccess 都停止
while [ 1 ]; do
    QUERY="$(ps -ef | grep queue:work | grep -v grep)"
    if [ -z "${QUERY}" ]; then
        break
    else
        sleep 1
    fi
done
echo "OK"

Laravel Horizon 的操作相對簡單一些。

啟動 Horizon:

./artisan horizon \
    --quiet --no-interaction --no-ansi >> storage/logs/horizon.log 2>&1 &

if [ $? -ne 0 ]; then
    echo "FAILED !"
else
    echo "OK"
fi

停止 Horizon:

artisan horizon:terminate --quiet --no-interaction --no-ansi

# 檢查 proccess 是否終止
while [ 1 ]; do
	QUERY="$(ps -ef | grep horizon | grep -v grep)"
	if [ -z "${QUERY}" ]; then
		echo "OK"
	else
		sleep 1
	fi
done
Tags:Bash, Laravel, Linux

Laravel Horizon 僅支援 queue in Redis

Posted on 2023 年 4 月 2 日2023 年 4 月 2 日 By 日落 在〈Laravel Horizon 僅支援 queue in Redis〉中尚無留言

透過 Laravel Horizon 可以快速監看 queued jobs 的運作狀況,不過要注意的是僅支援資料放在 Redis 中的 queue:

Laravel Horizon requires that you use Redis to power your queue. Therefore, you should ensure that your queue connection is set to redis in your application’s config/queue.php configuration file.

所以要先檢查幾個項目:

  • 記得 composer reuqire predis/predis
  • 在 .env 中的 QUEUE_CONNECTION 數值必須是 redis
  • config/queue.php 中的 default 建議直接改成 redis
Tags:Laravel, PHP, Redis

在 tar 中使用 zstd 壓縮

Posted on 2023 年 3 月 13 日2023 年 3 月 13 日 By 日落 在〈在 tar 中使用 zstd 壓縮〉中有 2 則留言

在 CloneZilla 中看到 zstd 這個壓縮工具,其演算法由 Facebook 開發,速度和壓縮比介於 gzip 和 bzip2 之間,且支援 multi-thread,打包大量資料時蠻好用的。

使用 tar 時,使用 -I 參數來使用 zstd:

tar -I zstdmt -cf pack.tar.zst logs/

備註:zstdmt 是 zstd -T0 的 alias

Tags:Linux

在 alpine 中安裝 pdo_pgsql

Posted on 2023 年 3 月 9 日2023 年 3 月 9 日 By 日落 在〈在 alpine 中安裝 pdo_pgsql〉中尚無留言

如果只執行 docker-php-ext-install 會出現錯誤訊息:

PHP Startup: Unable to load dynamic library 'pdo_pgsql.so'

必須安裝 postgresql-dev 套件,完整設定為:

RUN apk add --no-cache postgresql-dev && \
    docker-php-ext-install pdo pdo_pgsql pgsql
Tags:Docker

文章分頁

上一頁 1 ... 18 19 20 ... 318 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.