由於centOS7 已經不再維護,現在要繼續使用red hat的只能轉到rocky linux 或者amla linux。今天先以rocky linux 為主。雖然說大部分問chatGPT、gemini可以問出來,但他們給的答案有點略舊,且有些小錯誤,因此寫一版本正確的。
假如使用VPS安裝rocky linux的環節可以省略,直接在部屬主機時就能夠選擇了。
若是使用Windows的wsl的話,先到rockylinux官網下載,選擇wsl映像檔。
然後打開PowerShell 匯入 (目前已經假設windows已經有開啟wsl)
wsl --install --from-file F:\Users\Downloads\Rocky-10-WSL-Base.latest.x86_64.wsl --name rocket10 --version 2
註解:
--from-file : 對應你的wsl映像檔路徑 (F:\Users\Downloads\Rocky-10-WSL-Base.latest.x86_64.wsl 替換這個路徑)
--name : 這個系統的名稱,可以隨意取名,用來識別。這邊就取名為rocket10。
下次要進入系統,就在PowerShell 輸入 wsl -d rocket10
第一次進入系統時,它會讓你設定一個linux使用者名稱,可以隨意取。我這邊就取叫做aidec。(等於linux的useradd aidec 一樣,它簡化這塊流程)
不是用wsl的話,這邊可以使用以下指令來新建立使用者(aidec的部分,替換成你自己要的使用者名稱)
useradd aidec
passwd aidec
usermod -aG wheel aidec
套件更新
首次進入系統,先更新所有套件。(以前centOS是使用yum,rocky則是用dnf。基本上用法一樣,就是yum換成dnf而已)
sudo dnf update -y
安裝PHP8.5
先加 repo 來源 & Remi(PHP 8.5),PHP的官網可以找到指示步驟
https://www.php.net/downloads.php?usage=web&os=linux&osvariant=linux-redhat&version=8.5

#建議是先裝個這個
sudo dnf install -y epel-release
#官網的指示
sudo subscription-manager repos --enable codeready-builder-for-rhel-$(rpm -E %rhel)-$(arch)-rpms
sudo dnf install -y dnf-plugins-core
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.5 -y
# Install PHP.
sudo dnf install -y php
這樣就裝好了,比以前部屬簡易很多。
安裝redis8.4
這邊就要注意一下,按照chatGPT指示安裝不了。它說用
sudo dnf install redis 就可以,但我實測是不能直接這樣用的,在問它就跟我們說是因為rocky linux 10 太新,要我們降版本,但其實不是這樣,別被它騙了。
事實上不是不支援,而是有多個版本可以選,但系統沒有預設版本,因此沒法自動安裝。
Redis 正確流程:
先看有哪些版本可以裝
sudo dnf module list redis

可以看到有 7.2、8.0、8.2、8.4 .... 這邊就以8.4最新版的為主,若想裝其他版本,可以自行替換。
啟用想要的版本 例如這邊選8.4
sudo dnf module enable redis:remi-8.4
接著就能使用常規指令安裝了
#安裝redis
sudo dnf install redis
#啟動服務
sudo systemctl enable --now redis
#確認狀態
sudo systemctl status redis
安裝mongodb 8
先添加來源
sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo <<EOF
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
EOF
安裝mongodb
sudo dnf install mongodb-org
# 啟動服務
sudo systemctl enable --now mongod
# 檢查安裝版本
mongod --version
安裝Composer
這個就不用多說,使用PHP必裝的。
#安裝Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
composer -V
安裝nginx
#安裝nginx
sudo dnf install nginx
#啟動
sudo systemctl enable --now nginx
安裝PHP擴展
php-redis 安裝只需要一條指令,不像以前還要編譯老半天。
#安裝php-redis
sudo dnf install -y php-redis
php-mongo
#安裝php-mongo
sudo dnf install -y php-mongodb
其他常見的PHP擴展
#常見php 擴展
sudo dnf install -y \
php-curl \
php-fileinfo \
php-opcache \
php-intl \
php-bcmath \
php-gd \
php-zip \
php-mysqlnd \
php-pcntl \
php-posix \
php-sockets \
php-process \
php-exif \
php-soap \
php-imagick
啟動php-fpm
sudo systemctl enable --now php-fpm
安裝git
sudo dnf install git
使用php workerman
這個非必須,只是我有在用就記錄一下。
#建立一個目錄
sudo mkdir /var/www/myproject
sudo mkdir /var/www/myproject/test
切換目錄
cd /var/www/myproject/test
# 將此目錄擁有者改為當前使用者 (aidec) ,這個很重要。
sudo chown -R $USER:$USER .
#使用workerman (上面步驟需要,不然會沒權限運行)
composer require workerman/workerman
#檢查是否滿足workerman環境測試
curl -Ss https://www.workerman.net/check | php
#理論上會出現
PHP Version >= 5.4.0 [OK]
Extension pcntl check [OK]
Extension posix check [fail]
#安裝php-process就OK了
sudo dnf install php-process
簡易的web server
可以用來簡易測試用,正式運作還是要用php-fpm + nginx為佳。
cd 專案路徑
php -S 0.0.0.0:8000
#就可以在使用 http://localhost:8000
建議安裝的
sudo dnf install nano
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/rocky-linux-10-php-redis-mongo-nginx
若有業務合作需求,可寫信至: [email protected]
創業、網站經營相關內容未來將發布在 小易創業筆記