FreeBSD 安裝 Nginx full 錯誤處理

Nginx 1.12 加入了 Dynamic module 的功能,可以動態載入想要的功能。在 FreeBSD Package 中,預設的 nginx 不知道為何將 HTTP/2 的選項關掉了,因此要開啟 HTTP/2 只能選擇安裝 nginx-full。然而安裝完後卻會發現 nginx 開起來卻看不到熟悉的 “Welcome to nginx!” 畫面。
查了一下在 error.log 出現資訊

1
2
3
4
ngx_http_fastdfs_process_init pid=54913
[2018-03-09 15:18:25] ERROR - file: ini_file_reader.c, line: 631, include file "http.conf" not exists, line: "#include http.conf"
[2018-03-09 15:18:25] ERROR - file: /wrkdirs/usr/ports/www/nginx-full/work/fastdfs-nginx-module-5a8110f/src/common.c, line: 155, load conf file "/usr/local/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2018/03/09 15:18:25 [alert] 51701#100096: worker process 54913 exited with fatal code 2 and cannot be respawned

感覺罪魁禍首就是這個 fastdfs 的東西。稍微 google 之後找到以下的排除方式:

1
2
3
sudo touch /usr/local/etc/fdfs/http.conf
sudo sed -i -e 's/load_fdfs_parameters_from_tracker=true/load_fdfs_parameters_from_tracker=false/g' \
/usr/local/etc/fdfs/mod_fastdfs.conf

重新啟動 nginx,收工!

參考資料:

  1. FreeBSD Bugzilla 224166