跳到主要內容

Fedora 29 架站實務 之 Part 4 安裝php-fpm

在前一個章節裡:

Part 3 安裝 NGINX 網頁伺服器




關於Nginx 執行PHP網頁的方式:


php-fpm 的執行在Fedora 29 Server上的重要資訊:

  • 預設的執行帳號: apache
  • 設定檔案位置: /etc/php-fpm.conf 和 /etc/php-fpm.d/www.conf
  • Nginx Hook-Up設定: /etc/nginx/default.d/php.conf
  • Cache/Session資訊儲存: /var/lib/php/
  • Log檔案位置: /var/log/php-fpm/
  • 預設通訊Socket: /run/php-fpm/www.sock
  • 服務預設狀態: 不開機啟動,停止

備註:
還記得我們討論過Linux上都是以apache 作為預設的HTTP伺服器嗎,還記得前面Fedora 是個Bloody-Cutting Edge 導向的Linux嗎  ?
是的,在這邊我們看出了非常荒謬的Script:
安裝軟體時,Script 有偵測到nginx安裝,於是便很貼心的寫好了nginx的設定放在nginx的設定資料夾下,做好hook-up,但執行權限卻是apache,而不是nginx,這會導致權限喬不攏,會變成: nginx 可以執行php網頁,但是一旦php網頁需要進行網頁資料夾寫入的時候就會出現問題。

安裝 php-fpm:

# dnf install php-fpm


改權限:

更改php-fpm執行的使用者:

# nano /etc/php-fpm.d/www.conf
找到 user = apache 與 group = apache
改成 user = nginx 與 group = nginx
按下Ctrl + O 儲存之後,再按下Ctrl + X 離開

當然這樣還不夠,我們仍要調整其他目錄的權限:

# chown -R root.nginx /var/lib/php/opcache
# chown -R root.nginx /var/lib/php/session
# chown -R root.nginx /var/lib/php/wsdlcache


把Log 目錄的權限調整給nginx
# chown -R nginx.root /var/log/php-fpm/


請注意:
chown 是更改一個目錄或檔案的擁有者,語法是:
chown [-R(是否要連資料夾中的所有子項目都要套用)] [屬於的擁有者](點或冒號)[屬於的Group] [目標目錄] 範例:
chown -R nginx.root /some/folder/

chown -R nginx:root /some/folder/)
所以 chown -R nginx.root 和 chown -R root.nginx 意義是截然不同的,前後不可對調
至於為什麼一個是root.nginx 一個是nginx.root 的原因在於 一個原先的權限設定是root.apache 一個是apache.root,我們僅只將apache調換,但一個是屬於的Group一個是屬於的擁有者。
關於Linux的權限,請參閱Google,本站尚未細述。

將服務設定為開機啟動:


# systemctl enable php-fpm

將服務啟動:


# systemctl start php-fpm

重新啟動nginx:

方才php-fpm在nginx 的設定資料夾中加入的設定檔,在nginx 沒有重新啟動前,新加入的設定或調整都是無效的:

# systemctl restart nginx

求救:

我很手X,我還沒做完上述動作就啟動了php-fpm 服務怎麼辦 ?
解: 請先停止php-fpm 服務,照上述的動作做一次。之後再重新啟動服務。

測試php-fpm 是否在nginx上運作正常:

我們這時在nginx 的預設網站目錄裡面建立一個php測試網頁: phptest.php
# cd /usr/share/nginx/html/
# nano phptest.php

檔案內容:
<? php
       phpinfo();
?>
完成後請儲存。

回到電腦,打開測試網頁:
打開瀏覽器,輸入: http://[你的IP]/phptest.php
如果出現以下畫面代表php-fpm 與nginx能夠hook-up,設定也正確:

完成後,請移除測試檔:


# rm -rf /usr/share/nginx/html/phptest.php

為什麼你應該移除phpinfo() 的測試網頁:

phpinfo 含有許多敏感資訊: 目前執行的php版本,php附加的元件,這些都可以成為資安漏洞(e.g. 假如我是駭客,我清楚你的php執行之版本漏洞,我也清楚你使用了什麼元件,因此來決定我下手的方式)。

留言

這個網誌中的熱門文章

網路卡卡急救章 – 您用的網路,您了解嗎 ?

這是我應該在乎的事情嗎 ? 是,同時也不是。取決於你對於網路的要求程度有多高而有變異。對於一個上上網偶爾看看Youtube的人,這些不是他會在乎的問題,便宜,能用就好,對一個線上遊戲玩家來說,穩定才是首要考量的問題,對一個追劇狂來說,方案提供的總流量才是考量。所以正在看文章的您是什麼樣的使用者呢 ? 無論怎麼樣的使用者,對於自己正在使用什麼樣的網路多了解一些,也不是壞事。

暫時當一下外國人的 SoftEther VPN Gate

在一個自由的國度與優質的ISP裡: 這兩個評斷台灣的網路服務環境,我想許多人便是吐槽不已,但我想與各位討論的,便是靜下來思考: 台灣的ISP好在哪些地方 ? 還記得第一次日本出差的嚮往,我期待著超乎我能所想像的高速網路,隨處可方便使用的行動網路。莫約小學(2006年左右),網路上大家總是謾罵著中華電信傲慢無理的價格且速度緩慢,而日本如火如荼的進行著光纖鋪設,便是邊用中華順便謾罵。 而在日本的三個月期間,用的是NTT(相當於日本版的中華電信)的有線網路與4G服務,我覺得才便能體會台灣ISP所提供的服務水準: NTT FLET'S光迴線 300 晚間尖峰時段測速 2018/3/05 會津若松市 中華電信 4G 晚間尖峰時段測速 2019/3/20 花蓮縣壽豐鄉 在日本,無線網路通訊基本上是沒有吃到飽的(Au WiMax 雖然流量無限但還是會有每日到量限速),所以若要回宿舍做事最好還是裝固網 But What can I say ? 而台灣的ISP(用中華電信的體驗下來),是鮮少管東管西的: eMule 流量要不要限制、BT故意阻擋等等,讓使用VPN的理由實在不多,而自由的發言,不管控觀看內容,我想這個就留給客官們各自評斷了。 而如果對於P2P不友善的ISP有哪些, 倒是可以看看這個表 ,便一切皆知喔。 有限制地區的服務: 然而網站有些內容仍然會因為地區的關係而決定要不要顯示,如果是學術研究者,會很經常用到TANET的SSL-VPN,因為這些 死要錢 的論文網站都會綁學校的IP Block,要使用非得以用學校的網路出去。日常生活中,最明顯的可以從某些Youtube 影片,陸方的影音網站便能知曉 VPN 與你: VPN能提供的好處不少,但能導致的壞處也不少: VPN的好處: 隱藏自己實際的身分、公共網路上(如機場、飯店等開放式WiFi)他人無法竊聽整個傳輸內容(包含上了什麼網站等等的)、使用當地國網路優勢 VPN的壞處: 不良VPN提供業者可能會記錄傳輸內容、伺服器效能不足導致網路使用緩慢。 SoftEther VPN 與筑波大學: 筑波大學在VPN方面的研究十分奇葩,也相對先進。用盡各種方式建立VPN(甚至只要能送Ping 也能作為VPN,實際運作原理不多說)

讓我們來談談DELL XPS 13 9343 那恐怖的雜音

作為Dell 旗艦級筆電的XPS系列: 對一個實驗生來說,長效高性能的筆電,是一個叫做: 想作為必備,但是沒本事買配備。 餐餐的泡麵與吐司果醬,當覺得已經似乎快超脫時,便重金砸下。