自架 WordPress 上傳媒體發生 HTTP 錯誤

WordPress 上傳檔案大小很多人都了解,透過更改 php.ini 可以讓上傳的檔案大一點,不過有時候卻發現檔案大小不超過限制,上傳又會出現 HTTP 錯誤,那是怎麼回事呢?


既然都說是 HTTP 錯誤,就來看一下網頁伺服器錯誤。
cat /var/log/nginx/error.log | grep error

問題顯而易見,太大放不進去。

使用自己習慣的編輯工具更改 nginx 設定檔即可,例如 vi /etc/nginx/nginx.conf,並在 http{ } 內新增 client_max_body_size 20M;


nginx -t 測試一下沒問題就能 restart nginx。

WordPress Nginx rewrite 規則

網路上雖然蠻多教學都會教你把請求轉到 index.php,看似簡單不過還有些地方要注意,wp-admin 可能會導致 404 發生,3 行簡單的做法就能正常運作囉。
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

Let’s encrypt 免費 SSL 憑證教學

雖然這篇文來的有點遲,不過還是不免俗的簡單介紹一下免費的憑證,Let’s Encrypt 是由多家大型公司為推廣 HTTPS 而成立的一個組織,網路上已經有蠻多教學文章了,不過個人認為 EFF(電子前哨基金會)推的 certbot 最為好用,至於網路上 SSL For Free,個人是不太信任這種服務就是了。

Certbot 的安裝很簡單先使用 dnf 指令安裝就好
dnf install certbot
之後就能下指令取得要的憑證
certbot certonly

繼續閱讀 “Let’s encrypt 免費 SSL 憑證教學”

Nginx 錯誤 Address already in use 解決

原本 dnf install nginx 用得好好的,也不知道是怎樣,就想加一些 module,試了一下 Google 的 PageSpeed Module,他有提供個自動化安裝腳本,這才想說不對,慘慘慘總之後來先是 rm -rf 自動化腳本安裝的 Nginx,先來試試 start nginx,問題浮現啦 Orz。

看一下錯誤紀錄 Address already in use,當然也想說那很簡單先 stop,這才驚覺不對好像 stop 不了,我的網站還能連。

繼續閱讀 “Nginx 錯誤 Address already in use 解決”

Nginx 多網站配置

網頁伺服器環境的建置可以先參閱先前的文章:在 Fedora 25 安裝 Nginx、PHP-FPM、MariaDB(LEMP)

當你的主機裝好網頁伺服器,你總會想難道一台主機只能一個網站嗎?當然不是,一台主機是能夠架設非常多網站的,這稱作 Virtual Host,任何現代網頁伺服器都支援這功能,至於怎麼做呢?筆者當然一步步帶你囉。

繼承先前文章,主機與伺服器環境準備好後就能開始架站,為了方便管理可以像筆者我一樣為 Nginx 網頁伺服器建立一個設定檔資料夾,讓不同網站的設定檔放在同一個資料夾方便管理。
先下這行指令
mkdir /etc/nginx/vhost
在 Nginx 的設定資料夾內新增一個名為 vhost 的資料夾
之後使用文字編輯軟體例如 Nano、Vi⋯⋯等,編輯 Nginx 的設定檔
vi /etc/nginx/nginx.conf

新增include /etc/nginx/vhost/*.conf;在 http { 這段內 }。

繼續閱讀 “Nginx 多網站配置”

在 Fedora 25 安裝 Nginx、PHP-FPM、MariaDB(LEMP)

LEMP 算是一個簡稱,使用 Linux 作業系統、Nginx 網頁伺服器、PHP-FPM 動態語言、MariaDB(MySQL)資料庫,網路上其實挺多一鍵安裝包的,不過個人偏好自己來,第一在自己來的過程中可以學習,第二也可以避免一鍵安裝包可能的風險,畢竟你也不清楚是不是包了什麼,LEMP 速度快穩定性高,雖然目前網頁伺服器的市佔率還是 Apache 最高,不過 Nginx 的輕巧快速與設定簡單易懂,相信值得一試。

本次使用 Fedora Server 25 作為示範,系統安裝就不再贅述,承租 VPS 都能輕易的選擇 Fedora 做為系統。

進到系統內先把系統更新吧
dnf update -y

更新完成後先來設定一下系統,使用個人習慣的編輯軟體去更改設定,例如 nano、vi⋯⋯等
繼續閱讀 “在 Fedora 25 安裝 Nginx、PHP-FPM、MariaDB(LEMP)”